Android捆绑值始终为0

时间:2014-11-20 05:22:16

标签: android android-intent

在我的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.有人知道什么是错的吗?

由于

2 个答案:

答案 0 :(得分:1)

您正在编写String键并读取int。要编写和读取相同的密钥,您需要使用putExtra(String,int)和getInt。

答案 1 :(得分:0)

  1. getIntent()。getExtras()将为您提供捆绑
  2. 在您的情况下,您已将字符串类型值放入Intent Extra
  3. 所以要在ThreadClass Activity中获取值,请执行以下操作

    int thread_id = Integer.parseInt(getIntent().getStringExtra("thread_id"));
  4. 希望这有帮助