Reputation: 159
Attached are 2 photos one when the list is populated using the onCreateView when the app starts(white text) and the other is whenever the SetList() method is called
https://i.sstatic.net/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<String> adapter = new ArrayAdapter<String>(((MainActivity)getActivity()).getApplicationContext(), android.R.layout.simple_list_item_1,((MainActivity)getActivity()).Logs);
lv.setAdapter(adapter);
return rootView;
}
https://i.sstatic.net/8uTe1.png
public void SetList()
{
ListView lv = (ListView) findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,Logs);
lv.setAdapter(adapter);
}
Upvotes: 2
Views: 2373
Reputation: 159
Problem solved by changing
ArrayAdapter<String> adapter = new ArrayAdapter<String>(((MainActivity)getActivity()).getApplicationContext(), android.R.layout.simple_list_item_1,((MainActivity)getActivity()).Logs);
to
ArrayAdapter<String> adapter = new ArrayAdapter<String>(((MainActivity)getActivity()).getBaseContext(), android.R.layout.simple_list_item_1,((MainActivity)getActivity()).Logs);
it seems like for some reason ((MainActivity)getActivity()).getApplicationContext()
returns a different default text color than ((MainActivity)getActivity()).getBaseContext()
Upvotes: 8
Reputation: 2955
try this, Override getView method and set text color like this
countryadapter = new ArrayAdapter<String>(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;
}
};
Upvotes: 0
Reputation: 13520
Change
ArrayAdapter<String> adapter = new ArrayAdapter<String>(((MainActivity)getActivity()).getApplicationContext(), android.R.layout.simple_selectable_list_item,((MainActivity)getActivity()).Logs);
to
ArrayAdapter<String> adapter = new ArrayAdapter<String>(((MainActivity)getActivity()).getApplicationContext(), android.R.layout.simple_list_item_1,((MainActivity)getActivity()).Logs);
in onCreateView
. The problem is that you are using 2 different layouts in the adapter. Using android.R.layout.simple_list_item_1
should give you TextView
with black text the first time too.
Upvotes: 0