2011-06-30 42 views
0

我已经在XML中创建了一个布局,它包含一个ListView。我可以使用ListView在我的AsyncTask里面找到。在onCreate中,我做了:listView = (ListView)findViewById(R.id.listView1);ListView上的空指针(不使用ListActivity)

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

但是,如果我尝试listView.setDivider(null)onCreate,那么应用程序在那里崩溃与nullpointer

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

+1

从logcat发布日志。它是导致NPE或空分隔符的列表视图。 – Varun

回答

0

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

+0

我在'setContentView'之后执行它,并且我拥有正确的ID。很奇怪......无论出于何种原因,现在它工作的很好。我没有改变一件事。 – LuxuryMode

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)。