3

私の問題は、リストのonclickリスナーがテキストビューではなくLinearLayoutを返すことです。だから私は単純な行xmlであるクリックされたアイテムをキャッチする方法を知りません

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">

 <ImageView android:id="@+id/imgIcon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="15dp"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp" />

 <TextView android:id="@+id/txtTitle"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:textStyle="bold"
    android:textSize="22dp"
    android:textColor="#000000"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp" />

</LinearLayout>

それがメイン

  listView1.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position,
                            long id) {

                        String item = ((TextView)view).getText().toString();
                        Log.w("item", item);
                        Toast.makeText(getBaseContext(), item, Toast.LENGTH_LONG).show();

                    }
                });

返されたビューが LinearLayout であるため、このアイテムはプログラムをクラッシュさせますどうすれば LinearLayout 内のテキスト ビューをキャッチできますか?!

4

11 に答える 11

0


String item = (TextView)((LinearLayout)view).getChildAt(1).getText().toString();
これは、この回答から同様の質問に適合しています

于 2013-08-01T10:54:06.930 に答える