从具有两个单独TextView的Listview菜单项中检索值

use*_*076 2 android android-layout

我有一个Listview,它最初列出了一个菜单项中的项目,只有一个TextView.我用来检索所选项目的代码是

  menuList.setOnItemClickListener(new AdapterView.OnItemClickListener() {  

  public void onItemClick(AdapterView<?> parent, View itemClicked, int position, long id)  
  {  
                TextView textView = (TextView) itemClicked;  
                String strText = textView.getText().toString();  

  });  
Run Code Online (Sandbox Code Playgroud)

我现在添加了另一个TextView,这样我就可以为每个项目提供两个值,而我的menu_item.xml看起来像这样

<RelativeLayout  
   xmlns:android="http://schemas.android.com/apk/res/android"  
   android:layout_width="fill_parent"  
   android:layout_height="fill_parent"  
   android:orientation="horizontal"  
   android:padding="10sp">  
   <TextView  
      android:id="@+id/rowid"  
      android:layout_width="wrap_content"   
      android:layout_height="wrap_content"  
      android:textColor="@color/exhibitor_header" />   
   <TextView  
      android:id="@+id/rowidtwo"  
      android:layout_width="wrap_content"  
      android:layout_height="wrap_content"  
      android:textColor="@color/listview_background"  
      android:layout_below="@+id/rowid"/>  
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

如何在选择项目时检索rowid的值?

Cri*_*ian 5

然后,不是转换整个视图,而是在该视图中找到正确的TextView对象.你可以使用findViewById方法和TextViewid 来引用它:

TextView textView = (TextView) itemClicked.findViewById(R.id.rowid);
String strText = textView.getText().toString();

TextView textView2 = (TextView) itemClicked.findViewById(R.id.rowidtwo);
String strText2 = textView2.getText().toString();
Run Code Online (Sandbox Code Playgroud)