2016-05-31 1 views
0

하나의 활동에 arrayList를 만들고 다른 활동에 전달하려고 시도하고 Listview에 표시하려고합니다. 첫 번째 활동의 첫 번째 목적 코드는ArrayList 다른 활동에 대한 목록 및 ListView에 표시

else if(id == R.id.History) 
    { 
Intent i=new Intent(this,History.class); 
i.putExtra("name",al); 
startActivity(i); 

이 내가 처음 활동에 배열 목록에 추가하고 어떻게 이것은 다른 활동 코드

protected void onCreate(Bundle savedInstanceState)  
{ 

super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main2); 
ArrayList<String> str= (ArrayList<String>)getIntent().getParcelableExtra("name"); 

ListView lv=(ListView)findViewById(R.id.list); 
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
        this, 
        android.R.layout.simple_list_item_1, 
        str); 
      lv.setAdapter(arrayAdapter); 

이며, 의 ArrayList는 onOptionItemSelected 방법 안에 전역 적으로 정의되고, n은 색인을 실행하는 변수입니다. 표시되고 아무것도 표시되지지고 내가 ": java.lang.NullPointerException이에 의한"오버 플로우 항목 버튼을 클릭하고 때마다 addToStringList 방법이

public void addToStringList(){ 

    EditText et=(EditText)findViewById(R.id.abcd); 
    EditText et1=(EditText)findViewById(R.id.abc); 
    String eam1=et.getText().toString(); 
    String eam2=et1.getText().toString(); 
    al1.add(n-2,eam1); 
    al1.add(n-1,eam2); 
} 

를 호출하기 전에 그것은 처음, 다음 2 incremeneted 0으로 정의된다 . 내가 어디가 잘못 될지 모르겠다.

+1

NullPointerException 스택 추적이 가리키는 코드 행은 어느 것입니까? – Amit

+0

에 의해 발생 : java.lang.NullPointerException : null 객체 참조에서 인터페이스 메소드 'int java.util.List.size()'를 호출하려고 시도했습니다. android.widget.ArrayAdapter.getCount (ArrayAdapter.java:337)의 , android.widget.ListView.setAdapter (ListView.java:491) @Amit –

답변

0

이 게시물을 보시려면 Intent.putExtra List이 도움이 될 것입니다. 대신 intent.putStringArrayListExtra() 메서드를 사용해야합니다. 그래도 null 객체가 있으면 전달중인 목록이 null 객체가 아닌지 확인하십시오.

+0

고맙습니다 @ 제임스! putStringArrayListExtra() 및 getStringArrayListExtra() 메서드로 변경 –

관련 문제