如何从分配给例如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