I try to send a variable from a activity to another but i get an error.I am using this because i want to send some data about each item of a menu to another activity and then modify the text views according to the data received. I've attached only one information that i want to sent which is the title.. I've attached my activities and the LogCat error:
MainActivity
Bundle bundle= new Bundle();
bundle.putString("Title", lessons_titles[position]);
Intent intent = new Intent(context, Example1.class);
intent.putExtras(bundle);
context.startActivity(intent);
Passing Activity
Bundle bundle = getIntent().getExtras();
String title = bundle.getString("Title");
title_view.setText(title);
LogCat Error
03-12 17:18:31.529: E/AndroidRuntime(1873): FATAL EXCEPTION: main
03-12 17:18:31.529: E/AndroidRuntime(1873): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.test/com.example.test.Example1}: java.lang.NullPointerException
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.os.Handler.dispatchMessage(Handler.java:99)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.os.Looper.loop(Looper.java:137)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.ActivityThread.main(ActivityThread.java:5103)
03-12 17:18:31.529: E/AndroidRuntime(1873): at java.lang.reflect.Method.invokeNative(Native Method)
03-12 17:18:31.529: E/AndroidRuntime(1873): at java.lang.reflect.Method.invoke(Method.java:525)
03-12 17:18:31.529: E/AndroidRuntime(1873): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-12 17:18:31.529: E/AndroidRuntime(1873): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-12 17:18:31.529: E/AndroidRuntime(1873): at dalvik.system.NativeStart.main(Native Method)
03-12 17:18:31.529: E/AndroidRuntime(1873): Caused by: java.lang.NullPointerException
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.Activity.findViewById(Activity.java:1853)
03-12 17:18:31.529: E/AndroidRuntime(1873): at com.example.test.Example1.<init>(Example1.java:10)
03-12 17:18:31.529: E/AndroidRuntime(1873): at java.lang.Class.newInstanceImpl(Native Method)
03-12 17:18:31.529: E/AndroidRuntime(1873): at java.lang.Class.newInstance(Class.java:1130)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-12 17:18:31.529: E/AndroidRuntime(1873): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
03-12 17:18:31.529: E/AndroidRuntime(1873): ... 11 more
03-12 17:21:55.112: E/AndroidRuntime(2031): FATAL EXCEPTION: main
03-12 17:21:55.112: E/AndroidRuntime(2031): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.test/com.example.test.Example1}: java.lang.NullPointerException
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.os.Handler.dispatchMessage(Handler.java:99)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.os.Looper.loop(Looper.java:137)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.ActivityThread.main(ActivityThread.java:5103)
03-12 17:21:55.112: E/AndroidRuntime(2031): at java.lang.reflect.Method.invokeNative(Native Method)
03-12 17:21:55.112: E/AndroidRuntime(2031): at java.lang.reflect.Method.invoke(Method.java:525)
03-12 17:21:55.112: E/AndroidRuntime(2031): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-12 17:21:55.112: E/AndroidRuntime(2031): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-12 17:21:55.112: E/AndroidRuntime(2031): at dalvik.system.NativeStart.main(Native Method)
03-12 17:21:55.112: E/AndroidRuntime(2031): Caused by: java.lang.NullPointerException
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.Activity.findViewById(Activity.java:1853)
03-12 17:21:55.112: E/AndroidRuntime(2031): at com.example.test.Example1.<init>(Example1.java:10)
03-12 17:21:55.112: E/AndroidRuntime(2031): at java.lang.Class.newInstanceImpl(Native Method)
03-12 17:21:55.112: E/AndroidRuntime(2031): at java.lang.Class.newInstance(Class.java:1130)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-12 17:21:55.112: E/AndroidRuntime(2031): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
03-12 17:21:55.112: E/AndroidRuntime(2031): ... 11 more
03-12 17:22:02.132: E/AndroidRuntime(2050): FATAL EXCEPTION: main
03-12 17:22:02.132: E/AndroidRuntime(2050): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.test/com.example.test.Example1}: java.lang.NullPointerException
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.os.Handler.dispatchMessage(Handler.java:99)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.os.Looper.loop(Looper.java:137)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.ActivityThread.main(ActivityThread.java:5103)
03-12 17:22:02.132: E/AndroidRuntime(2050): at java.lang.reflect.Method.invokeNative(Native Method)
03-12 17:22:02.132: E/AndroidRuntime(2050): at java.lang.reflect.Method.invoke(Method.java:525)
03-12 17:22:02.132: E/AndroidRuntime(2050): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-12 17:22:02.132: E/AndroidRuntime(2050): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-12 17:22:02.132: E/AndroidRuntime(2050): at dalvik.system.NativeStart.main(Native Method)
03-12 17:22:02.132: E/AndroidRuntime(2050): Caused by: java.lang.NullPointerException
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.Activity.findViewById(Activity.java:1853)
03-12 17:22:02.132: E/AndroidRuntime(2050): at com.example.test.Example1.<init>(Example1.java:10)
03-12 17:22:02.132: E/AndroidRuntime(2050): at java.lang.Class.newInstanceImpl(Native Method)
03-12 17:22:02.132: E/AndroidRuntime(2050): at java.lang.Class.newInstance(Class.java:1130)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-12 17:22:02.132: E/AndroidRuntime(2050): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
03-12 17:22:02.132: E/AndroidRuntime(2050): ... 11 more
You are calling findViewById
from your Activity constructor. You can't call findViewById
until after the Activity view has been set by calling setContentView
which should be done in onCreate
. For example:
class MyActivity extends Activity {
public MyActivity() {
// Do not do anything with views here
}
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myLayout);
// Now you can do stuff with your views
final TextView title_view = (TextView)findViewById(R.id.titleView);
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.