我的捆绑问题, 如果值来自文本字段,我无法发送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是一个文本字段。
答案 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参数是资源类型