当我复制这样的代码时,
private ListView lstview1; <--there is a yellow line beneth it. why?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
ListView lstview1=(ListView)findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,listView1);
setListAdapter(adapter);
最后一条语句显示方法setListAdapter(ArrayAdapter)未定义类型SecActivity 什么事?
答案 0 :(得分:1)
你必须像这样设置Adapeter .. setListAdapter()
不是Activity
中的方法ListActivity
lstview1.setAdapter(adapter)
答案 1 :(得分:1)
黄线可能表示不使用变量lstview1
。那是因为这一行
ListView lstview1=(ListView)findViewById(R.id.listView1);
在另一个上下文中生成 new 变量。你可能意味着
lstview1=(ListView)findViewById(R.id.listView1);
答案 2 :(得分:1)
使用以下代码:
lstview1.setAdapter(adapter);
而不是:
setListAdapter(adapter);
答案 3 :(得分:1)
这是因为你已经在全局声明了 lstview1 varible,然后在onCreate()方法中你又被声明了它。
首先改变:
lstview1=(ListView)findViewById(R.id.listView1);
之后,如果您的Activity仅使用 活动 进行扩展,则将适配器设置为ListView,如:
lstview1.setAdapter(adapter);
OR
如果扩展为 ListActivity ,请使用
setListAdapter(adapter);
谢谢!