1

我正在尝试使用 ListView 创建一个简单的活动(下面的代码)

Activity 使用的是 Theme.Light,但似乎 simple_list_item_2 是用于深色主题的。

结果是不可读的文本。

有没有办法在我的 ListView 上使用 Light Theme?

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_2, array) {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {

                TwoLineListItem row;
                if(convertView == null){
                    LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    row = (TwoLineListItem)inflater.inflate(android.R.layout.simple_list_item_2, null);
                }else{
                    row = (TwoLineListItem)convertView;
                }
                String[] data = this.getItem(position).split(";");
                //No check on data.length for the example.
                row.getText1().setText(data[0]);
                row.getText2().setText(data[1]);

                return row;

            }
        };
        setListAdapter(adapter);
4

1 回答 1

0

问题解决了:

我用了:

LayoutInflater inflater = getLayoutInflater();

代替

LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
于 2012-11-03T17:32:07.920 回答