Android Listview文本颜色白色onCreateView(而不是黑色)
当应用程序启动时使用onCreateView填充列表(白色文本)时附加一张照片,另一张是每当调用SetList()方法时
http://sofzh.miximages.com/java/QHNEL.png
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, false); ListView lv = (ListView) rootView.findViewById(R.id.listView1); ArrayAdapter adapter = new ArrayAdapter(((MainActivity)getActivity()).getApplicationContext(), android.R.layout.simple_list_item_1,((MainActivity)getActivity()).Logs); lv.setAdapter(adapter); return rootView; }
http://sofzh.miximages.com/java/8uTe1.png
public void SetList() { ListView lv = (ListView) findViewById(R.id.listView1); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,Logs); lv.setAdapter(adapter); }
通过更改ArrayAdapter
解决问题ArrayAdapter
至
ArrayAdapter
似乎由于某种原因((MainActivity)getActivity()).getApplicationContext()
返回与((MainActivity)getActivity()).getBaseContext()
不同的默认文本颜色((MainActivity)getActivity()).getBaseContext()
更改
ArrayAdapter adapter = new ArrayAdapter (((MainActivity)getActivity()).getApplicationContext(), android.R.layout.simple_selectable_list_item,((MainActivity)getActivity()).Logs);
至
ArrayAdapter adapter = new ArrayAdapter (((MainActivity)getActivity()).getApplicationContext(), android.R.layout.simple_list_item_1,((MainActivity)getActivity()).Logs);
在onCreateView
。 问题是您在适配器中使用了2种不同的布局。 使用android.R.layout.simple_list_item_1
应该第一次为你提供带有黑色文本的TextView
。
试试这个,覆盖getView方法并设置这样的文本颜色
countryadapter = new ArrayAdapter(CreateGroupsActivity.this, android.R.layout.simple_spinner_item, CommonListClass.countryName) { @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View v = super.getView(position, convertView, parent); ((TextView) v).setTextColor(getResources().getColor(R.color.black_color)); return v; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View v = super.getDropDownView(position, convertView, parent); ((TextView) v).setTextColor(getResources().getColor(R.color.black_color)); return v; } };