2015-05-19 139 views
-8

上午将我的整型变量从FirstPage传递给FifthPage,我可以在烤面包中看到0而不是存储在'q1'中的实际值。我如何将我的整型变量从一个活动传递给其他活动? 任何一个可以帮助我....感谢将整型变量从一个活动传递给另一个活动android

FirstPage.java 

int pos =poltype.getSelectedItemPosition(); 
int q1=pos; 
Intent myIntent = new Intent(context1, FifthPage.class); 
myIntent.putExtra("Q1", (int)q1);      

Intent myintent2 = new Intent(context1, SecondPage.class); 
startActivity(myintent2); 


FifthPage.java 

Intent mIntent = getIntent(); 
int Q1 = mIntent.getIntExtra("Q1", 0); 

Toast.makeText(FifthPage.this, 
String.valueOf(Q1), Toast.LENGTH_LONG) 
          .show(); 

登录猫:

05-19 16:06:44.557: E/AndroidRuntime(2922): FATAL EXCEPTION: main 
05-19 16:06:44.557: E/AndroidRuntime(2922): Process: com.example.techback, PID: 2922 
05-19 16:06:44.557: E/AndroidRuntime(2922): android.content.res.Resources$NotFoundException: String resource ID #0x0 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.content.res.Resources.getText(Resources.java:274) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.widget.Toast.makeText(Toast.java:277) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at com.example.techback.FifthPage$1.onClick(FifthPage.java:50) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.view.View.performClick(View.java:4756) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.view.View$PerformClick.run(View.java:19749) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.os.Handler.handleCallback(Handler.java:739) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.os.Handler.dispatchMessage(Handler.java:95) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.os.Looper.loop(Looper.java:135) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at android.app.ActivityThread.main(ActivityThread.java:5221) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at java.lang.reflect.Method.invoke(Native Method) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at java.lang.reflect.Method.invoke(Method.java:372) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
05-19 16:06:44.557: E/AndroidRuntime(2922):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
+0

如果删除0,我得到这个错误“的方法getIntExtra(字符串, int)类型的意图不适用于参数(字符串)“ –

回答

1

使用此 因为你必须不能从单一的一个

int pos =poltype.getSelectedItemPosition(); 
int q1=pos; 
Intent myIntent = new Intent(context1, FifthPage.class); 
myIntent.putExtra("Q1", q1);      
startActivity(myintent); 

Intent myintent2 = new Intent(context1, SecondPage.class); 
startActivity(myintent2); 
发送来自不同的意图值
0

你只需要一个意图,而不是两个,你必须开始你的新活动,意图有你的整数(myIntent不是myIntent2)。

Intent intent = new Intent(CurrentClass.this, NewClass.class); 
intent.putExtra("name", integerValue) 
startActivity(intent); 
+0

我需要通过整数值到第五页,如果我把startActivity(intent);它会启动第五页,但我不想在我的情况下 –

0

的意图开始的活动中,这是你的额外加入,然后用这一个尝试,当你想要得到你的价值:

int Q1 = Integer.parseInt(getIntent().getExtras().get("Q1").ToString()); 
+0

我得到NullPointerException –

+0

究竟在哪个语句? –

1

在第一页,使用:

int pos =poltype.getSelectedItemPosition(); 
int q1=pos; 
Intent myIntent = new Intent(context1, FifthPage.class); 
myIntent.putExtra("Q1", (int)q1); 
startActivity(myintent); 

在FifthPage活动,使用此

Intent mIntent = getIntent(); 
Bundle bundle = mIntent.getExtras(); 

    if (bundle != null) { 
     // getting Q1 
     int q1 = bundle.getInt("Q1"); 

    } 

编辑:如果你不想启动Fifthpage,你可以将Q1值保存到SharedPreference并从那里访问它。

SharedPreference用法:

在第一页:

SharedPreference sp = getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor spe = sp.edit(); 
spe.putInt("Q1", (int)q1); 
spe.commit(); 

在FifthPage:

SharedPreference sp = getPreferences(Context.MODE_PRIVATE); 
int q1 = sp.getInt("Q1", 0); 
+0

如何保存在sharedPreference中? –

+0

查看编辑答案。 –

+0

我得到ResourceNotfound异常 –

相关问题