I am attempting to select an item within a list Fragment onCreateView. I do this as follows: listView.setItemChecked(position, true);. Unfortunately the view is not activated, as in my ArrayAdapter getView is never called so I am unable to modify the checked item. Any suggestions or links are appreciated!
Fragment onCreateView:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View layout= inflater.inflate(
R.layout.fragment, container, false);
mListView= (ListView) layout.findViewById(R.id.navigation_list);
mListView.setAdapter(new Adapter(
this,
R.layout.list_item,
titles));
mListView.setItemChecked(mCurrentSelectedPosition, true);
return layout;
}
ArrayAdapter
public class Adapter extends ArrayAdapter<String> {
private Activity mActivity;
private int mResource;
public Adapter(Fragment fragment, int resource, ArrayList<String> titles) {
super(fragment.getActivity(), resource, titles);
mActivity = fragment.getActivity();
mResource = resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
ViewHolder holder;
if(convertView == null){
convertView = mActivity.getLayoutInflater().inflate(mResource, parent, false);
holder = new ViewHolder();
holder.title = (TextView)convertView.findViewById(R.id.title);
convertView.setTag(holder);
}
else{
holder = (ViewHolder)convertView.getTag();
}
holder.title.setText(getItem(position));
holder.title.setTypeface(null, convertView.isActivated() ? Typeface.BOLD : Typeface.NORMAL);
return convertView;
}
private class ViewHolder{
private TextView title;
}
}
0 comments:
Post a Comment