2014-03-12 6 views
0

Я пытаюсь отправить переменную из одной операции в другую, но я получаю сообщение об ошибке. Я использую это, потому что я хочу отправить некоторые данные о каждом элементе меню в другое действие, а затем изменить текстовые представления в соответствии с полученными данными. Я приложил только одна информация, что я хочу отправить, который является название .. Я приложил свои действия и ошибки LogCat:Передача переменных из одной операции в другую

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 активность

Bundle bundle = getIntent().getExtras(); 
    String title = bundle.getString("Title");       
    title_view.setText(title);  

LogCat Ошибка

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 
+5

Что находится в строке 10 примера1.java? Похоже, вы вызываете findViewById из своего конструктора, прежде чем вызывать setContentView, что недопустимо. Вид активности еще не настроен. – goto10

+0

TextView title_view = (TextView) findViewById (R.id.titleView); –

+0

Это в строке 10 –

ответ

0

Вы вызываете findViewById из своего конструктора действий. Вы не можете позвонить findViewById до тех пор, пока вид активности не будет установлен по вызову setContentView, который должен быть выполнен в onCreate. Например:

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); 
    } 
} 
+0

Благодарим вас за ответ. Я нашел ошибку, и ты прав. еще раз спасибо:) –

Смежные вопросы