0

さまざまな種類のセルを含むリスト ビューがあり、そのために ArrayAdapter を使用しています。

private class MyAdapter extends ArrayAdapter<String>
{   
    public MyAdapter(Context context, int resource, int textViewResourceId, String[] objects)
    {
        super(context, resource, textViewResourceId, objects);
    }

    @Override
    public View getView(int position, View view, ViewGroup parent)
    {
        View viewCE = inflater.inflate(R.layout.my_cell, parent, false);
        ((TextView) viewCE.findViewById(R.id.txt_cell)).setText(adapter.getItem(position));
        view = viewCE;
        return view;
    }
}

my_cellImageViewが含まれており、ユーザーがセルをクリックしたときにこのImageViewの画像を変更したいです。

私はすでにコードにOnItemClickListenerメソッドを実装するプライベートクラスを追加しましonItemClick()たが、何をすべきかまったくわかりません...

ご協力いただきありがとうございます。

4

2 に答える 2

2

コールバックでonItemCLickは、パラメーターviewはまさにあなたの を含むビューであるimageViewため、ID で検索して変更できます。サンプル コードは次のとおりです。

list.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
        ImageView image = ((ImageView) viewCE.findViewById(R.id.your_image_id));
        //do something by yourself
    }
}
于 2013-07-10T10:26:45.093 に答える
0

リスト項目の onClick とは異なる方法で ImageView のクリック イベントを処理する場合は、以下のように別の onClickListener を Imageview に追加できます。

imageView.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // Change the image

        }

    });
于 2013-07-10T10:20:53.613 に答える