2013-08-07 43 views
-2

當我使用intent調用另一個活動時,它會提供一個空指針異常。開始另一個活動時的空指針異常

意圖

public void ShowEvent(View view){ 
     Intent intent = new Intent(this, Getclicker.class); 
     date = (TextView)findViewById(R.id.textView2); 
     String datevalue = date.getText().toString(); 
     userSelection=(TextView)findViewById(R.id.textView1); 
     String Userselectvalue = userSelection.getText().toString(); 

     intent.putExtra(EXTRA_MESSAGE, datevalue); 
     intent.putExtra(EXTRA_MESSAGE1, Userselectvalue); 

     startActivity(intent); 
    } 

Getclicker.java

package example.events1; 

import android.app.ListActivity; 
import android.content.Intent; 
import android.database.Cursor; 
import android.os.Bundle; 
import android.support.v4.widget.SimpleCursorAdapter; 
import android.widget.ListView; 

public class Getclicker extends ListActivity { 

    classdbOpenHelper eventsData1; 
    Cursor cursor1; 
    ListView listView ; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     Intent intent = getIntent(); 
     String datevalue = intent.getStringExtra(FirstActivity.EXTRA_MESSAGE); 
     String Userselectvalue = intent.getStringExtra(FirstActivity.EXTRA_MESSAGE1); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second);      


     cursor1 = eventsData1.getContact(datevalue,Userselectvalue); 
     String[] fromColumns = {classdbOpenHelper.KEY_EVENT}; 
     int[] toViews = {R.id.event}; 
     SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.events, cursor1, fromColumns, toViews,0); 
      listView = getListView(); 
     listView.setAdapter(adapter); 
     } 

    public void onDestroy() { 
     eventsData1.close(); 
     } 
} 

logcat的

08-07 11:52:54.445: E/Trace(2926): error opening trace file: No such file or directory (2) 
08-07 11:52:58.564: E/AndroidRuntime(2926): FATAL EXCEPTION: main 
08-07 11:52:58.564: E/AndroidRuntime(2926): java.lang.RuntimeException: Unable to start activity ComponentInfo{example.events1/example.events1.Getclicker}: java.lang.NullPointerException 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.os.Looper.loop(Looper.java:137) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at java.lang.reflect.Method.invoke(Method.java:511) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at dalvik.system.NativeStart.main(Native Method) 
08-07 11:52:58.564: E/AndroidRuntime(2926): Caused by: java.lang.NullPointerException 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at example.events1.Getclicker.onCreate(Getclicker.java:28) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.Activity.performCreate(Activity.java:5104) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
08-07 11:52:58.564: E/AndroidRuntime(2926):  ... 11 more 
+1

可能重複[Nullpointer異常,當開始另一個活動](http://stackoverflow.com/questions/18100665/nullpointer-exception-when-starting-another-activity) – Raghunandan

+0

粘貼你的logcat。而且「當我使用意圖調用另一個活動時,它會給出一個空指針異常。」一次就夠了。 – SKK

+0

取決於LogCat,但您可能尚未在Manifest中聲明該活動。 – g00dy

回答

0

你可以嘗試這種方式,因爲Getclicker Activty中的靜態值應該爲空。所以用作關鍵。

intent.putExtra("EXTRA_MESSAGE", datevalue); 
    intent.putExtra("EXTRA_MESSAGE1", Userselectvalue); 

,並獲得價值這樣

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     Intent intent = getIntent(); 
     String datevalue = intent.getStringExtra("EXTRA_MESSAGE"); 
     String Userselectvalue = intent.getStringExtra("EXTRA_MESSAGE1"); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second); 
1

我沒有看到你初始化eventsData1和你使用它在:

cursor1 = eventsData1.getContact(datevalue,Userselectvalue); 

這可能會導致空指針異常。

0

首先應該創建活動layout--

的setContentView()首先然後得到的值

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_second); 
    Intent intent = getIntent(); 
    String datevalue = intent.getStringExtra(FirstActivity.EXTRA_MESSAGE); 
    String Userselectvalue = intent.getStringExtra(FirstActivity.EXTRA_MESSAGE1); 

在你的代碼還初始化eventsData1,它可以有空值。

+0

如何初始化 – sadabmkp