获取listview文本信息

时间:2011-03-11 19:54:59

标签: android listview

我有一个列表视图,我想获取所选项目的文本。

我试过这个

mContactList.setOnItemLongClickListener(new OnItemLongClickListener() {

        @Override
        public boolean onItemLongClick(AdapterView<?> arg0,View arg1,int arg2,long arg3) {
            SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(Contacts.this);
            SharedPreferences.Editor edit = pref.edit();

            n = mContactList.getItemAtPosition(arg2).toString();    
            Log.v("Contacts", "List Name: " + n);
            edit.putString(Prefs.NAME, n);
            showDialog(1);
            return false;
        }
    });

但它在日志

中给了我这个
List Name: android.database.sqlite.SQLiteCursor@40522900

我需要做什么?

2 个答案:

答案 0 :(得分:2)

单击的项目应该是您的View参数。在你的情况下arg1。典型的ListView使用TextView显示项目。因此,将View arg1强制转换为TextView,然后使用getText();

获取文本
String listItemSelected_TextValue = ((TextView) arg1).getText();

答案 1 :(得分:0)

我认为关键在于“查看arg1”这个论点。

您在listView中列出了哪些视图?如果它是纯文本视图的列表,那么arg1.getText()应该可以做到(就像Spidy所说的那样)。

如果它是一个包含textView的更复杂的View,那么首先使用:

获取textView
TextView tv = (TextView) arg1.findViewById(R.id.text_view_id);

然后在那上面调用getText()。