[英]how can i pass my instance variable througout my entire activity?
我正在尝试制作自定义列表视图适配器。 在我的public void函数中,我尝试设置适配器..(从网络上列出列表之后
这是在我的onCreate()中:
rowItems = new ArrayList<RowItem>();
listView = (ListView) findViewById(R.id.list);
CustomListViewAdapter adapter = new CustomListViewAdapter(this,R.layout.activity_main, rowItems);
listView.setAdapter(adapter);
我的问题是:如何在整个活动中使自定义listview适配器适配器变量可用?
这是我设置名称城市和图标并尝试设置适配器时的摘录
item.setTitle(p.getString("name"));
item.setDesc(p.getString("city"));
item.setImageId(p.getString("icon"));
rowItems.add(item);
listView.setAdapter(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);
CustomListViewAdapter adapter =
new CustomListViewAdapter(this,R.layout.activity_main, rowItems);
listView.setAdapter(adapter);
}
将声明移到类字段中,如下所示:
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
内声明适配器将其范围(可见性)限制为该方法和在其中声明的类。
顺便说一句,您没有说为什么要“重置”适配器,但是通常,您应该只设置一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.