ArrayAdapter没有显示任何列表视图
我有一个简单的列表视图我想使用数组适配器填充。我只想在其中放入一个字符串。我对我有意义,但显然不工作,因为没有任何显示!我很确定我的错误在于:ArrayAdapter没有显示任何列表视图
public class PartiesAdapter extends ArrayAdapter<String> {
private List<String> parties;
public PartiesAdapter(Context context, int resource, List<String> list) {
super(context, resource);
this.parties = list;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
if (view == null) {
LayoutInflater viewInflator = LayoutInflater.from(getContext());
view = viewInflator.inflate(R.layout.parties_item, null);
}
String party = parties.get(position);
TextView party_name = (TextView) view.findViewById(R.id.party_item);
party_name.setText(party);
return view;
}
}
我是否正确填充每一行?
而是在适配器使用自己的列表的变量,你应该使用内置的名单像这样
public class PartiesAdapter extends ArrayAdapter<String> {
public PartiesAdapter(Context context, int resource, List<String> list) {
super(context, resource,list);
}
@Override
public View getView(int position, View view, ViewGroup parent) {
if (view == null) {
LayoutInflater viewInflator = LayoutInflater.from(getContext());
view = viewInflator.inflate(R.layout.parties_item, parent,false);
}
String party = getItem(position);
TextView party_name = (TextView) view.findViewById(R.id.party_item);
party_name.setText(party);
return view;
}
}
同时膨胀,你应该尽量避免传递null,并使用像这样的'view = viewInflator.inflate(R.layout.parties_item,parent,false)''。 – Panther 2014-12-07 08:55:51
你的问题出现是因为你延伸的方式ArrayAdapter
。 ArrayAdapter
有这样的构造函数,你想要做什么:
ArrayAdapter(android.content.Context, int, java.util.List<T>)
只要记住,ArrayAdapter
需要你对你所提供的布局TextView
或使用该构造,可以让你指定的其他版本和ID的TextView
在布局内。
您无需为您的用例扩展ArrayAdapter
。
原来我需要在ArrayAdapter
@Override
public int getCount(){
return parties.size();
}
如果在扩展'ArrayAdapter'时实现'BaseAdapter',这是真的,因为它已经知道List的大小;它正在传递给构造函数。 – Emmanuel 2014-12-07 01:15:14
实现getCount()
方法而不是
new PartiesAdapter(...)
呼叫
new ArrayAdapter(context, R.layout.parties_item, R.id.party_item, parties)
也删除PartiesAdapter
,因为它试图做一些事情ArrayAdapter
可以开箱即用。
请张贴适配器的所有代码。 – Emmanuel 2014-12-07 00:55:33
只是贴了其余的适配器,虽然没有太多的它 – 9er 2014-12-07 00:58:15
党是永远不会空。大声笑..先生? – Elltz 2014-12-07 01:02:51