初始化后,View仍为null

时间:2012-09-11 06:40:45

标签: android android-listview nullpointerexception

我的代码中有listview,我想在其上设置adapter

但问题是,即使在初始化listview之后,它仍然是 null ,导致nullPointerException。 (我通过记录和调试检查了它)

我无法从该xml访问任何视图。

我错过了什么?任何帮助表示赞赏。

XML

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:scrollbars="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ListView
            android:id="@+id/lvToday"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:divider="#FFF"
            android:dividerHeight="2dp" />

        <ListView
            android:id="@+id/lvTomorrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/lvToday"
            android:divider="#FFF"
            android:dividerHeight="2dp" />
    </RelativeLayout>

</ScrollView>

活动文件

public class DashboardActivity extends Activity {

ListView lvToday, lvTomorrow;
TextView lblCall;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dashboard);
    init();
}

private void init() {
    lvToday = (ListView) findViewById(R.id.lvToday);
    lvTomorrow = (ListView) findViewById(R.id.lvTomorrow);

    TodayAppAdapter adapter = new TodayAppAdapter(DashboardActivity.this,
            DashboardActivity.this);
                // This line is giving NULL
    lvToday.setAdapter(adapter);

    TomorrowAppAdapter adapter1 = new TomorrowAppAdapter(
            DashboardActivity.this, DashboardActivity.this);
                // This line is giving NULL
    lvTomorrow.setAdapter(adapter1);
}
}

3 个答案:

答案 0 :(得分:1)

1)测试eclipse菜单:Project - &gt;清洁...

2)如果您的xml布局有多个版本(例如layout-large,layout-xlarge,...),请检查它们是否都有您的视图。

答案 1 :(得分:0)

您在布局中缺少TextView

答案 2 :(得分:0)

String [] 以及

中适配器的名称
OnDraw() 

方法