0
我有一行代碼,當我調試nullpointerexception時,我可以看到它是導致我的應用程序崩潰的原因。代碼行未初始化導致nullpointerexecption
的是導致了空指針的代碼行是這樣的:
ListView storeList = (ListView) findViewById(R.id.storeList);
,然後在調試模式下,它崩潰時它會嘗試分配此:
storeList.setAdapter(arrayAdapter2);
我不知道爲什麼對象沒有初始化。它下面的ArrayAdapter
初始化好。如果您
下面是實際的Java活動文件:
public class StoreListView extends Activity {
UserFunctions userFunctions = new UserFunctions();
ArrayAdapter<String> arrayAdapter2;
ArrayList<String> spinnerArray;
protected void onCreate(Bundle savedInstanceState) {
ListView storeList = (ListView) findViewById(R.id.storeList);
super.onCreate(savedInstanceState);
setContentView(R.layout.storelistviewpage);
arrayAdapter2 = new ArrayAdapter<String>(StoreListView.this,android.R.layout.simple_list_item_1);
spinnerArray = getIntent().getStringArrayListExtra("cusName");
arrayAdapter2.addAll(spinnerArray);
storeList.setAdapter(arrayAdapter2);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main_screen, menu);
return true;
}
}
及以下這裏是xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/storeList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical" >
</ListView>
編輯: 在情況下,一些想知道我加入活動到android mainfest
這是完美的!我簡直不敢相信。我在想這是別的。一切都必須在這兩條線之後出現嗎? – Mark 2013-02-10 23:21:37
@Mark自從'findViewById()'返回你想要的視圖,這是一個很好的做法,這隻有當有一個'contentView'集合,並且你傳遞的'Id'是有效的時纔會發生。我能想到的唯一事情就是在'setContentView()'請求窗口要素之前。 – 2013-02-10 23:25:09
@Mark如果此答案對您有幫助,您應該將其標記爲已接受的答案。如果您還有其他問題,最好的辦法就是發佈另一個問題。 – 2013-02-11 00:34:47