onlistitemclick() + listViewのクリック可能な画像
-
28-10-2019 - |
質問
私のリスト項目がまだ応答してほしい onListItemClick()
しかし、さらに、RAWの追加画像が必要です。独自のクリックイベントがあります。クラシックな方法、定義 onClickListener
画像が機能しないため。何 私は自分のリストアダプターを定義し、オーバーライドしなければならないことを発見しました getView()
方法. 。新しいアダプタークラスの定義をロックしましたが、カスタムアダプターを使用したことがありません。タブをナビゲートし、onlistitemclick()にタブ1に移動し、imageClickをタブ2に移動します。 onListItemClick()
ただし、画像の2番目のクリックイベントを追加すると、アプリはmysimpleadapter.getView()でnullpointerexceptionでクラッシュします。どんな助けも感謝します。ありがとう。
public class ListaActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
MySimpleAdapter adapter = new MySimpleAdapter(this, elem, R.layout.list_item,
new String[]{"name","number","address"}, new int[]{R.id.name,R.id.num,R.id.adr});
setListAdapter(adapter);
}
public class MySimpleAdapter extends SimpleAdapter{
Context context;
//Activity activity;
public MySimpleAdapter(Context context, ArrayList<HashMap<String, String>> elements,int layout, String [] from, int [] to ){
super(context,el,layout,from,to);
this.context = context;
//this.activity = (Activity) context;
}
@Override
public View getView(int position,View convertView, ViewGroup parent){
View view = super.getView(position, convertView, parent);
ImageView image = (ImageView)findViewById(R.id.btn);
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int tab=2;
MyTabActivity.switchToTab(tab);
}
});
return view;
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id){
int tab = 1;
MyTabActivity.switchToTab(tab);
}
}
解決
次の行を下に変更します:
ImageView image = (ImageView)findViewById(R.id.btn);
に
ImageView image = (ImageView)view.findViewById(R.id.btn);
所属していません StackOverflow