这个listview语句有什么问题?

时间:2013-12-16 13:32:40

标签: android android-listview

当我复制这样的代码时,

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 什么事?

4 个答案:

答案 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);

谢谢!