0

http://android-holo-colors.com/からアプリケーションのウィジェットにカラー テーマを適用していますが、ListView の項目がカラー テーマに従っていません。ListView の外に単純な CheckBox アイテムを作成しようとしました。緑のカラー テーマが、ListView の外にある単一の CheckBox に適用されます。私の色のテーマは、以前は ListView の項目で機能していましたが、最近機能しなくなったことに気付きましたが、AppTheme に変更を加えていません。

以下のスクリーンショットは、私の色が ListView の外側にある最初の CheckBox にのみ適用されていることを示していますが、ListView の項目は CheckBox に私の色のテーマを適用しません。

ここに画像の説明を入力

以下は、ListView で CheckBox 項目を設定する際の BaseAdapter です。

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    LayoutInflater inflater = (LayoutInflater) this.context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView = inflater.inflate(R.layout.subject_row, null);

    CheckBox textRow = (CheckBox) convertView.findViewById(R.id.subject);
    textRow.setText(getItem(position));

    textRow.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            if (v instanceof CheckBox) {

                String subject = ((CheckBox) v).getText().toString();
                Log.i("subject", subject);

                if (((CheckBox) v).isChecked()) {
                    activity.arrayListSelectedSubject.add(subject);
                }

                try {
                    if (!((CheckBox) v).isChecked()) {
                        activity.arrayListSelectedSubject
                                .remove(activity.arrayListSelectedSubject
                                        .indexOf(subject));

                    }
                } catch (Exception e) {
                    Log.e("catch Exception", String.valueOf(e));
                    e.printStackTrace();
                }// end try-catch

            }// end if (v instanceof CheckBox)

            Log.i("selectedSubjectArrayList", String
                    .valueOf(activity.arrayListSelectedSubject.size()));

        }// end onClick
    });// end setOnClickListener

    return convertView;
}
4

2 に答える 2

2

activity.thisではなく、コンテキストとして使用する必要がありますgetApplicationContext()

于 2015-01-30T14:11:16.403 に答える