在我的Android应用程序中,我将一个值1存储在一个包中,然后启动该活动,然后我从新活动中读取包值,并且它为0.我不确定出了什么问题... < / p>
content.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent myIntent = new Intent(context, ThreadScreen.class);
myIntent.putExtra("thread_id", Integer.toString(thread.getId(), 10));
context.startActivity(myIntent);
Transition.TransitionForward(context);
}
});
myIntent mExtras = Bundle[{thread_id=1}]
。
此代码使用键thread_id
放置值1。然后我开始活动,然后我在这里阅读
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_thread_screen);
// activates the action bar
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
int thread_id = getIntent().getExtras().getInt("thread_id");
setUpScreen(thread_id);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
此处thread_id
的值为0.有人知道什么是错的吗?
由于
答案 0 :(得分:1)
您正在编写String键并读取int。要编写和读取相同的密钥,您需要使用putExtra(String,int)和getInt。
答案 1 :(得分:0)
所以要在ThreadClass Activity中获取值,请执行以下操作
int thread_id = Integer.parseInt(getIntent().getStringExtra("thread_id"));
希望这有帮助