PutInt捆绑不起作用

时间:2016-03-03 07:50:53

标签: android android-fragments bundle

我的捆绑问题, 如果值来自文本字段,我无法发送int值,我必须将年份传递给另一个片段,但它会显示错误并且应用程序被暂停。

  public void onClick(View v) {
          // final int value = year ;

            AddTaskFragment frag = new AddTaskFragment();
            FragmentManager fm = getFragmentManager();

            Bundle bundle2 = new Bundle();
            bundle2.putInt("akey2",year );
            frag.setArguments(bundle2);

            FragmentTransaction ft = fm.beginTransaction();
            ft.replace(R.id.frame, frag);
            ft.addToBackStack(null);
            ft.commit();


        }
    });

在这里:

 Bundle bundle1 = getArguments();
    if (bundle1 != null){
        strtext2 =  bundle1.getInt("akey2");
        taskdate.setText(strtext2);
        //taskdeadline.setText(strtext2);
    }

taskdate是一个文本字段。

3 个答案:

答案 0 :(得分:3)

您的TextView期望资源类型为String,将您的strtext2 int值转换为String,如下所示:

taskdate.setText(Integer.toString(strtext2));

taskdate.setText(strtext2+"");

答案 1 :(得分:0)

您没有正确进行打字。试试这段代码

String strtext2 = String.valueOf(bundle.getInt("akey2"));

获取更多帮助。尝试添加stacktrace

答案 2 :(得分:0)

使用以下内容:

taskdate.setText(String.valueOf(strtext2));

你需要强制转换" strtext2"到String,因为TextView认为int参数是资源类型