如何從分配給例如ImageView的onClick方法訪問例如TextView? TextView和ImageView組成了ListView項目。從另一個onClick方法控件訪問ListView控件
在我item.xml我:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:onClick="onImgClick"
/>
<TextView android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
在我ListActivity我有onImgClick方法:
public void onImgClick(View v) {
TextView tv = (TextView) v.findViewById(R.id.text);
tv.setText("Hello world!");
}
但視圖V - 這是ImageView的,所以在這個方法我有致命例外:
java.lang.NullPointerException
就行:
tv.setText("Hello world!");
我知道這是不正確的方式來訪問TextView。而且我知道我可以根據整個ListView使用onListItemClick(ListView l,View v,int position,long id)。但我想從ImageView onClick方法實現這一點。
如果的ImageView和TextView中形成ListView項,那麼他們在列表視圖的項目子視圖,所以你正在獲得與父母的孩子...你可以實現(我猜是這樣),但onclick方法將只分配在列表視圖的頂部而不是所有項目... –
是的,我可以做那樣的事情。或者根據整個ListView使用onListItemClick(ListView l,View v,int position,long id)方法。但我想從ImageView onClick方法中找到解決方案。 – woyaru