我正在尝试制作自定义列表视图适配器。在我的public void函数中,我正在尝试设置适配器..(在从Web创建列表之后
这是我的onCreate():
rowItems = new ArrayList<RowItem>();
listView = (ListView) findViewById(R.id.list);
CustomListViewAdapter adapter = new CustomListViewAdapter(this,R.layout.activity_main, rowItems);
listView.setAdapter(adapter);
我的问题是:如何在我的活动中使用自定义列表视图适配器适配器变量????
这是一个片段,当我设置我的名字城市和图标,我尝试设置我的适配器
item.setTitle(p.getString("name"));
item.setDesc(p.getString("city"));
item.setImageId(p.getString("icon"));
rowItems.add(item);
listView.setAdapter(adapter);
但是eclipse无法找到它。我甚至试图在没有运气的情况下回忆公共无效函数中的实例....
有什么建议吗?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new ReadWeatherJSONFeedTask().execute();
rowItems = new ArrayList<RowItem>();
listView = (ListView) findViewById(R.id.list);
CustomListViewAdapter adapter =
new CustomListViewAdapter(this,R.layout.activity_main, rowItems);
listView.setAdapter(adapter);
}
答案 0 :(得分:1)
将声明移动到类字段中,如下所示:
public class MyActivity extends Activity{
CustomListViewAdapter adapter;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new ReadWeatherJSONFeedTask().execute();
rowItems = new ArrayList<RowItem>();
listView = (ListView) findViewById(R.id.list);
adapter = new CustomListViewAdapter(this,R.layout.activity_main, rowItems);
listView.setAdapter(adapter);
}
}
类字段可以在类的所有方法中访问。这都是关于“范围”的。在onCreate
内声明适配器会限制它在该方法及其中声明的类的范围(它的可见性)。