【发布时间】:2015-04-19 20:53:01
【问题描述】:
我有点迷失从列表中填充 ListView。我可以用一个元素填充它,但我想从对象中获取三个元素,所以当我触摸每个元素时,应用程序会转到它包含的链接。在我的实际代码中,我只能显示标题
protected void onPostExecute (Boolean result){
List <String> title = new ArrayList<String>();
List <String> link = new ArrayList<>();
List <String> date = new ArrayList<>();
for(int i=0;i<news.size();i++)
{
title.add(news.get(i).getTitle());
link.add(news.get(i).getLink());
date.add(news.get(i).getDate());
}
ArrayAdapter <String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,title);
result.setAdapter(adapter);
dialog.dismiss();
}
在 arraylist date 和 link 中,我保存了正确的数据,但我只能使用其中一个。我的意图是将日期放在标题下方,当您触摸每个元素时,浏览器会打开并选择链接。
非常感谢。
编辑:我已经完成了自定义适配器,但它给了我一个错误。
class CustomAdapter extends ArrayAdapter<whatsnew> {
public CustomAdapter(Context context, whatsnew[] data) {
super(context, R.layout.listitem, data);
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(getContext());
View item = inflater.inflate(R.layout.listitem, null); //This give me a warning
TextView lblTitle = (TextView)item.findViewById(R.id.lbltitle);
lblTitle.setText(data[position].getTitle());
TextView lbldate = (TextView)item.findViewById(R.id.lbldate);
lbldate.setText(data[position].getFecha());
return(item);
}
}
CustomAdapter adaptader = new CuestomAdapter(getActivity(), data);
result.setAdapter(adaptador);
dialog.dismiss();
我的 Logcat 说:
Java NullPointerException: storage == null
解决方案是在公共 CustomAdapter 方法中通过“List data”更改“whatsnew[] data”,因为我在 ArrayList 中拥有名为 data 的所有数据。
【问题讨论】:
-
Custom Adapter for List View 的可能重复项
-
不,只是我把代码放在这里,解决了。感谢您的建议。适配器工作正常并用元素标题填充 ListView。但我想将日期和链接添加到 ListView,这就是问题
标签: android listview android-arrayadapter