2013-05-07 6 views
0

내 MainActivity 클래스에서 내 목록보기를 채우는 listview_fuellen 메서드가 있습니다.Nullpointer 목록보기를 업데이트하려고 할 때

public void listview_fuellen(){ 
     DBHelper db = new DBHelper(this); 

    ListView lv = (ListView) findViewById(R.id.lvKinder); 
    Cursor c = db.select(); 
    int count = c.getCount(); 
    String values[] = new String[count+1]; 

    List<String> auswahl = new ArrayList<String>(); 
    int i = 0; 
    System.out.println("$$$$$$$$$$$$$$$$$$$$$$$1" + c.getCount()); 
    while(c.moveToNext()) 
    { 
     values[i]= c.getString(c.getColumnIndex("name")); 
     auswahl.add(c.getString(c.getColumnIndex("name"))); 
     System.out.println("SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS" + auswahl.get(i).toString()); 
     i++; 
    } 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_black_text,R.id.list_content, auswahl); 

    lv.setAdapter(adapter); 
} 

이제는 목록 뷰에 표시된 데이터베이스에 데이터를 추가하는 다른 클래스에서이 메서드를 호출하려고했습니다.

db.insert(name, zeit, geschlecht);     
MainActivity ma = new MainActivity(); 
ma.listview_fuellen(); 

MainActivity의 생성자는 기본 생성자입니다 :

05-07 14:08:17.609: E/AndroidRuntime(25654): FATAL EXCEPTION: main 
05-07 14:08:17.609: E/AndroidRuntime(25654): java.lang.NullPointerException 
05-07 14:08:17.609: E/AndroidRuntime(25654): at android.app.Activity.findViewById(Activity.java:1839) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at com.example.unserekinder.MainActivity.listview_fuellen(MainActivity.java:129) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at com.example.unserekinder.NeuesKind$1.onClick(NeuesKind.java:57) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at android.view.View.performClick(View.java:4204) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at android.view.View$PerformClick.run(View.java:17355) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at android.os.Handler.handleCallback(Handler.java:725) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at android.os.Looper.loop(Looper.java:137) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at android.app.ActivityThread.main(ActivityThread.java:5041) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at java.lang.reflect.Method.invokeNative(Native Method) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at java.lang.reflect.Method.invoke(Method.java:511) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
05-07 14:08:17.609: E/AndroidRuntime(25654): at dalvik.system.NativeStart.main(Native Method) 

사람이 말할 수 : 이제

public void MainActivity(){ 

} 

내 응용 프로그램을 실행할 때, 나는 나의 방법 listview_fuellen()에 대한 NullPointerException이 얻을 나 왜?

+0

마 MainActivity가 ListActivity를 구현하는 것이 수행 할 두 번째 작업 사용 intent로 이동하고자 할 때? 그렇다면 Intent를 사용하여 새로운 인스턴스가 아닌 Intent 인스턴스를 생성해야합니까? – mach

+0

그래서 MainActivity 클래스의 새 인스턴스를 만들고 이미 실행중인 다른 인스턴스를 업데이트 할 예정입니까? – mihail

답변

1

이 활동 수명주기

활동 인스턴스화 및 방법 수명주기 방법을 통해 안드로이드에 의해 처리됩니다 모든 호출에 대해 읽어보십시오.

onCreate(Bundle savedinstancestate)Activity의 재정의 방법에 코드를 입력하십시오.

그리고 당신은

Intent i=new Intent(context,SecondActivity.class); 
startActivity(i); 
+0

그러나 이것은 내 MainActivity보기로 이동한다는 의미일까요? 내 두 번째보기에 머물러 있지만 첫 번째보기에서 목록보기를 업데이트하는 것이 가능하지 않습니까? – user896692

+0

@ user896692 그냥 내 질문에 대답, 어떻게 SecondActivity에있을 때 FirstActivity에서 listview 볼 수 있습니까? 이 질문에 대한 답변을드립니다. – Pragnani

+1

확인. 사용자가 휴대 전화의 첫 번째보기가 새로 고침되는 돌아 가기 버튼을 누르면 가능합니까? listview_fuellen() 메서드 호출은 onCreate()에 있지만 새로 고침은 없습니다. – user896692

관련 문제