0

重複の可能性:
Gmail のようなチェックボックス付きの ListView (および ActionBar を使用)

私は欲しい :

リストビュー

items { CheckBox, then TextView } ;

CheckBox を押すと、アイテムの色が変わるはずです。

どうすれば入手できますか?

PS

言い換えれば、Gmail アプリのように CheckBoxes を備えた ListView が必要です

4

2 に答える 2

6

答えはとても簡単です!CheckedTextViewとを組み合わせたというコンポーネントがありTextViewますCheckBox。このコンポーネントはロジックを簡素化する可能性があり、リストのOnItemClickListener!

私はあなたのために例を書きました:

    public class CheckBoxListView extends ListActivity implements OnItemClickListener{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //Mock data
        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
                "Linux", "OS/2" };

        //android's simple_list_item_multiple_choice is a CheckedTextView
        //try creating your own later ;)
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_multiple_choice, values);

        getListView().setOnItemClickListener(this);

        setListAdapter(adapter);

    }

    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

        CheckedTextView item = (CheckedTextView) arg1;

        //The change color logic is here!
        if(item.isChecked()) {
            item.setTextColor(Color.BLACK);
            item.setChecked(false);
        }
        else {
            item.setTextColor(Color.RED);
            item.setChecked(true);
        }

    }

}
于 2012-10-10T16:09:24.970 に答える
0

カスタム アダプターを作成し、必要なものを変更するチェックボックスにリスナーを設定します。(あなたが自分で何をしたかを見るまで、コードを投稿しません)。Android ドキュメントがどのように開始するのに適しているかがわからない場合。この問題については、特に LayoutInflater、BaseAdapter、ListActivity、および xml リソースの作成 (正確にはレイアウト) を確認する必要があります。

于 2012-10-10T14:27:36.570 に答える