在活动中取消定义getlistview方法

时间:2015-03-03 06:41:21

标签: android

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget35"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>

这是我的main.xml文件。 现在我正在尝试获取列表视图,为此我编写了以下代码。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    contactList = new ArrayList<HashMap<String, String>>();

        ListView lv = getListView();

但是当我收到错误时 &#34;方法getListView()取决于主要活动&#34;。所以你可以帮我解决这个错误。

2 个答案:

答案 0 :(得分:0)

请尝试以下:

ListView lv = (ListView) findViewById(R.id.list);

答案 1 :(得分:0)

扩展getListView()

ListActivity方法非常有用。

bt在其他情况下,只需使用以下方法来定义ur ListView对象。

ListView lv = (ListView) findViewById(R.id.list);

<强> E.g。

public class MainActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView lv = (ListView) findViewById(R.id.list);
    }
}

如果您想使用该方法,则必须将ListActivity扩展到您的班级。

<强> E.g。

public class MainActivity extends ListActivity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView lv = getListView();
    }
}