예를 들어, ImageView에 지정된 onClick 메서드에서 TextView에 대한 액세스 권한을 얻으려면 어떻게해야합니까? TextView 및 ImageView는 ListView 항목을 구성합니다.다른 onClick 메서드 컨트롤에서 ListView 컨트롤에 액세스하기
<?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 방법이 있습니다 : 내 item.xml에서
내가 가진
public void onImgClick(View v) {
TextView tv = (TextView) v.findViewById(R.id.text);
tv.setText("Hello world!");
}
그러나보기 절 -이 방법 나는 그래서이, 이미지 뷰입니다 치명적인 예외 : 라인에
java.lang.NullPointerException
:
tv.setText("Hello world!");
나는 이것이 TextView에 액세스하는 올바른 방법이 아니라는 것을 알고 있습니다. 그리고 전체 ListView에 따라 onListItemClick (ListView l, View v, int position, long id)을 사용할 수 있다는 것을 알고 있습니다. 하지만 ImageView onClick 메서드에서이를 달성하고 싶습니다.
http://developer.android.com/reference/android/os/Handler.html
는 다른 방법으로, 당신이 그것을 구현 한 방법에 따라, 당신의 getParent 조사 할 수 있습니다() :
됩니다 , 그래서 당신은 부모님과 자식에 대한 액세스 권한을 얻고 있습니다 ... 당신은 그것을 얻을 수 있습니다 (그렇습니다)하지만 onclick 메서드는 목록보기의 상단에만 모든 항목에 할당되지 않습니다 ... –
예, 할 수 있습니다 그런 일을하십시오. 또는 전체 ListView에 따라 onListItemClick (ListView l, View v, int position, long id) 메서드를 사용하십시오. 하지만 ImageView onClick 메서드에서 솔루션을 찾고 싶습니다. – woyaru