我尝试在按下按钮ListView
时将ArrayList
与(btnGetPost)
绑定。我对Android编程非常非常新。现在我能够将Facebook群组帖子检索为JSON响应。然后我循环遍历此JSON对象并将所有消息添加到ArrayList
。
现在我的问题是,如何在ListView
的{{1}}中显示所有消息。我是说如何将此button click
绑定到ArrayList
?请指出我正确的方向。
ListView
答案 0 :(得分:1)
基本上,如果你的arraylist中有数据,
然后你可以将它放入适配器,它将数据加载到listview
中的视图ListView和Adapter Basics它是如何工作的:
因此,您可以尝试覆盖 BaseAdapter
覆盖BaseAdapter的示例:
您只需注意getView
方法即可。这几乎是适配器的本质。
private class MyCustomAdapter extends BaseAdapter {
private ArrayList mData = new ArrayList();
private LayoutInflater mInflater;
public MyCustomAdapter() {
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public void addItem(final String item) {
mData.add(item);
notifyDataSetChanged();
}
@Override
public int getCount() {
return mData.size();
}
@Override
public String getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
System.out.println("getView " + position + " " + convertView);
ViewHolder holder = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item1, null);
holder = new ViewHolder();
holder.textView = (TextView)convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
holder.textView.setText(mData.get(position));
return convertView;
}
}
然后,您只需对ListView view;
view.setAdapter(myAdapter);
此博客中有更详细的说明 http://android.amberfog.com/?p=296
(这不是我的。我复制了示例代码和本页的一些解释)
答案 1 :(得分:0)
您可以通过适配器将数据绑定到ListView。在这种情况下,编写自己的ArrayAdapter派生的适配器会很有用。 您可以将数据引用保留为自定义适配器的成员。