對不起我的英語不好傳遞一個櫃檯到另一個活動的Android
我想,當我在我的第一個活動點擊一個按鈕來增加在第二活動的整數值。首先,我點擊一些按鈕。之後,我的第二個活動,增加一個數字,並應保存顯示在我的TextView中,使用共享首選項。
但我所試圖做的是不工作
nao=(ImageView)rootView.findViewById(R.id.nao);
nao.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent2 = new Intent(getActivity(), BancoList.class);
intent2.putExtra("num", 1);
次活動
TextView tv;
SharedPreferences shre;
private int numero;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lista);
tv=(TextView)findViewById(R.id.tv);
shre = PreferenceManager.getDefaultSharedPreferences(this);
String text = shre.getString("image_data", "");
if(!text.equalsIgnoreCase("")){
tv.setText(text);
}
Intent intent = getIntent();
if(intent.getIntExtra("num", 1) == 1) {
String present_value_string = tv.getText().toString();
int present_value_int = Integer.parseInt(present_value_string);
present_value_int++;
tv.setText(String.valueOf(present_value_int));
shre = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor edit=shre.edit();
edit.putString("image_data", present_value_string);
edit.commit();
我的日誌貓,@ nolly-J
FATAL EXCEPTION: main
Process: com.example.wolney.tabhost, PID: 31184
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at android.app.SharedPreferencesImpl.getInt(SharedPreferencesImpl.java:240)
at com.example.wolney.tabhost.fragments.FragmentUm$1.onClick(FragmentUm.java:50)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
共享偏好的內容可以是它必須是一個字符串一個int? – mikwee
@mikwee是的。可能是一個int。我已經嘗試過 –
我沒有真正實現你想要做的事情。你在第一個活動中設置了數字「intent2.putExtra(」num「,1);'並檢查第二個活動if(intent.getIntExtra(」num「,1)== 1){'它總是真的。那麼爲什麼要存儲'image_data'和'num'。 – ELITE