Android:将列表项显示到新视图

时间:2011-12-09 09:13:09

标签: android listview

如何在列表视图中显示项目?我的意思是,当你点击列表视图的一个项目时,它将显示在一个新视图上,只显示纯文本视图。谁可以帮我这个事?我想在两个文本视图中显示它。

这是我得到的代码:

@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;
            }

所以基本上,当我点击列表视图时,新的活动将显示在前面,只显示两个文本视图,即收件人和消息。

3 个答案:

答案 0 :(得分: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); 

}

答案 1 :(得分:0)

你对onclick事件所做的一切都取决于你,所以我不明白你为什么只能得到一个textview。

如果我点击列表视图中的listitem,那么我将OnItemClickListener设置为OnItemClick事件。

有关简单示例,请查看开发人员http://developer.android.com/resources/tutorials/views/hello-listview.html

编辑后,我看到你开始一个新的活动(KAHTextApp)。在此活动中,您可以定义要显示的内容。

答案 2 :(得分:0)

您的意思是在点击?

时开始新的活动

在这种情况下,只需在ListView https://developer.android.com/reference/android/widget/AdapterView.html#setOnItemClickListener(android.widget.AdapterView.OnItemClickListener)上添加一个OnItemClickListener,它将拥有打开新活动的代码。

如果使用ListActivity,只需覆盖onListItemClicked方法并将代码放在那里。