我正在做一個TODO應用程序,但是應用程序在活動開始時崩潰,它說列表視圖中的值爲null,我不明白爲什麼? 它不能設置適配器列表視圖ListView-App崩潰中的空對象
MainActivity:
public class MainActivity extends AppCompatActivity {
ListView listView;
FloatingActionButton fabButton;
ArrayAdapter<String> arrayAdapter;
ArrayList<String> arrayList;
String notesReceived;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fabButton = (FloatingActionButton) findViewById(R.id.fabButton);
listView = (ListView) findViewById(R.id.listView);
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayList);
arrayList = new ArrayList<>();
listView.setAdapter(arrayAdapter);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Strings.INTENT_REQUEST_CODE) {
notesReceived = data.getStringExtra("notes");
arrayList.add(notesReceived);
arrayAdapter.notifyDataSetChanged();
}
}
public void openAddNotes(View view) {
Intent intent = new Intent(this, AddNotesActivity.class);
startActivityForResult(intent,Strings.INTENT_REQUEST_CODE);
}
}
AddNotesActivity:
public class AddNotesActivity extends AppCompatActivity {
public Button addNOtes;
EditText editNotes;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_add_notes);
editNotes = (EditText) findViewById(R.id.editNotes);
addNOtes = (Button) findViewById(R.id.addNotes);
addNOtes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String notes = editNotes.getText().toString();
if (notes.equals("")) {
} else {
Intent intent = new Intent();
intent.putExtra(Strings.INTENT_NOTES_STRING, notes);
setResult(Strings.INTENT_RESULT_CODE, intent);
finish();
}
}
});
}
}
哪條線你所得到的NPE? –
arrayList = new ArrayList <>();你在首先使用arrayList對象的arrayAdapter對象之後創建對象。所以它變爲空。 –
[ArrayList空指針異常]的可能重複(http://stackoverflow.com/questions/21349733/arraylist-null-pointer-exception) – DroidDev