2011-12-09 2 views
0

Как вы отображаете элементы в виде списка? Я имею в виду, что когда вы нажимали на элемент списка, он будет отображаться на новом представлении, просто в текстовом виде. Может ли кто-нибудь помочь мне в этом? Я хочу отобразить его в двух текстовых комментариях.Android: Показать элементы списка к новому виду

Вот код, который я получил:

@Override 
     protected void onListItemClick(ListView l, View v, int position, long id) { 
      super.onListItemClick(l, v, position, id); 
      Cursor c = mMessagesCursor; 
      c.moveToPosition(position); 
      Intent i = new Intent(this, KAHTextApp.class); 
      i.putExtra(MessagesDBAdapter.KEY_ROWID, id); 
      i.putExtra(MessagesDBAdapter.KEY_RECIPIENT, c.getString(
        c.getColumnIndexOrThrow(MessagesDBAdapter.KEY_RECIPIENT))); 
      i.putExtra(MessagesDBAdapter.KEY_MESSAGE, c.getString(
        c.getColumnIndexOrThrow(MessagesDBAdapter.KEY_MESSAGE))); 
      startActivityForResult(i, ACTIVITY_EDIT); 
     } 

     @Override 
     protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
      super.onActivityResult(requestCode, resultCode, intent); 
      Bundle extras = intent.getExtras(); 
      switch(requestCode) { 
       case ACTIVITY_CREATE: 
        String recipient = extras.getString(MessagesDBAdapter.KEY_RECIPIENT); 
        String message = extras.getString(MessagesDBAdapter.KEY_MESSAGE); 
        mDbHelper.createNote(recipient, message); 
        fillData(); 
        break; 
       case ACTIVITY_EDIT: 
        Long rowId = extras.getLong(MessagesDBAdapter.KEY_ROWID); 
        if (rowId != null) { 
         String editTextRecipient = extras.getString(MessagesDBAdapter.KEY_RECIPIENT); 
         String editTextNewMessage = extras.getString(MessagesDBAdapter.KEY_MESSAGE); 
         mDbHelper.updateNote(rowId, editTextRecipient, editTextNewMessage); 
        } 
        fillData(); 
        break; 
      } 

Так в основном, когда я нажал на список просмотра новой активности придет на фронт, показывая только два TextViews, а именно, получатель и сообщение.

+0

Я не совсем уверен, что вы спрашиваете здесь. Я написал общий учебник по ListView, который может помочь вам понять ListView: https://blog.stylingandroid.com/archives/605 –

+0

Я имею в виду, когда пользователь постучал по элементу в виде списка, это приведет к появлению нового просмотреть и просто отобразить сообщение/элемент, который попал внутрь. – Kev

+0

Пока неясно, о чем вы спрашиваете. Почему бы не попробовать опубликовать свой код и объяснить, что вы хотите, и все может быть немного яснее. –

ответ

0

Что вы делаете с событием onclick, все зависит от вас, поэтому я не понимаю, почему вы получите только одно текстовое представление.

Если я нажму на listitem в списке, то я установил OnItemClickListener с событием OnItemClick.

Для простого примера проверить разработчики http://developer.android.com/resources/tutorials/views/hello-listview.html

После вашего редактирования я вижу, вы начинаете новую активность (KAHTextApp). В этом упражнении вы можете определить, что вы хотите показать.

0

Вы имеете в виду начало нового действия при нажатии?

В этом случае просто добавьте OnItemClickListener в свой ListView https://developer.android.com/reference/android/widget/AdapterView.html#setOnItemClickListener(android.widget.AdapterView.OnItemClickListener), который будет иметь код для открытия нового действия.

Если вы используете ListActivity, просто переопределите метод onListItemClicked и внесите свой код.

1

Listactivity.class

lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view,int position, long id) { 
Intent intent = new Intent(view.getContext(), yourclasname.class);  
intent.putExtra(String name, String[] value); 
. 
. 
. 

startActivity(intent); 

     } 
      }); 

Fulldetail.class

Bundle extras = getIntent().getExtras(); 
     if (extras != null) { 

     String stringTitle = extras.getString(String string); 

if (title != null) { 
      title.setText(stringTitle); 

} 
Смежные вопросы