我試圖在片段女巫內添加一個列表視圖也是一個tabhost內。該應用程序不會崩潰或任何東西,但列表視圖不顯示任何內容。 這裏是我的代碼:列表視圖內Tabpager片段不顯示
類的tabPager
public class TabPagerAdapter extends FragmentPagerAdapter {
public TabPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
return new FragmentHome();
case 1:
return new FragmentBadges();
case 2:
return new FragmentBenefits();
}
return null;
}
以下是我想要的ListView中的片段:
public class FragmentBadges extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_badges_list, null);
BadgesListAdapter adapter = new BadgesListAdapter(this.getActivity(), getCurrentBadges());
ListView badgeslist = (ListView) rootView.findViewById(R.id.badges_list);
badgeslist.setAdapter(adapter);
badgeslist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//TODO do some
}
});
return rootView;
}
而以下是適配器:
public class BadgesListAdapter extends ArrayAdapter<String> {
private final Activity context;
private List<Badge> badges;
public BadgesListAdapter(Activity context, List<Badge> badges) {
super(context, R.layout.fragment_badges_listrow);
this.context = context;
this.badges = badges;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.fragment_badges_listrow, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.text);
ImageView imageView = (ImageView) rowView.findViewById(R.id.img);
txtTitle.setText(badges.get(position).getName());
imageView.setImageResource(badges.get(position).getDrawableValue());
return rowView;
}
在調試的時候我發現了那個在badgeListAdap裏面的getView方法ter從未被稱爲。 我有這個相同的代碼爲另一個應用程序,但沒有tabpager,並在那裏它一切正常...
已經檢查工作,它有足夠的數據來顯示的。 – 2014-12-04 21:06:52
所以也許嘗試在'BadgesListAdapter'中調用'super(context,R.layout.fragment_badges_listrow,badges.toArray())''ArrayAdapter(Context context,int resource,T [] objects)'構造函數來提供數據。構造函數。 – 2014-12-04 21:10:26
我改變了所有的構造函數,但getView()方法從來沒有調用過。 – 2014-12-04 21:44:26