ListView上的nullpointer(不使用ListActivity)

时间:2011-06-30 02:33:48

标签: android

我用XML创建了一个布局,它包含一个ListView。我可以在我的AsyncTask内找到ListView。在onCreate中,我做了:listView = (ListView)findViewById(R.id.listView1);

在我的AsyncTask的onPostExecute中,我做了:listView.setAdapter(new OfferAdapter(Main.this, offers));这个工作很精细。

但是,如果我在listView.setDivider(null)中尝试onCreate,则应用程序会在nullpointer处崩溃。

当我不使用ListView时,我该如何抓住ListActivity

2 个答案:

答案 0 :(得分:0)

如果findViewById返回null,我会确保您在setContentView之后调用它,并且您使用的是正确的ID。

答案 1 :(得分:0)

您有一个选项是在xml中设置分隔符,即:

android:divider="@drawable/icon".  

如果您想要更多控制权,请确认您在活动中遵循以下语法:

public class DividerExampleActivity extends Activity {

    ListView listView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        listView = (ListView) findViewById(R.id.listView1);
        listView.setDivider(null);
    }
}

我检查了ListView.java源代码,将其设置为null应该没问题 另一种选择可能是在xml(比如0.5dp)中使自己成为一个非常薄的透明分隔符。