对不起我的英语不好传递一个柜台到另一个活动的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