2014-11-20 4 views
0

В моем приложении для Android я храню значение 1 в комплекте, а затем запускаю действие, затем я читаю значение пакета из нового действия и его 0. Я не уверен, что идет не так ...Значение пакета Android всегда читается 0

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}].

Этот код ставит значение 1 с помощью клавиши thread_id. Тогда я начинаю свою деятельность, а затем я прочитал его здесь

@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. Кто-нибудь знает, что случилось?

Благодаря

ответ

1

Вы пишете строковый ключ и читаете int. Чтобы написать и прочитать тот же ключ, вам нужно использовать putExtra (String, int) и getInt.

0
  1. getIntent(). GetExtras() даст вам сверток
  2. В вашем случае вы поставили значение типа String, в Intent Extra
  3. Таким образом, чтобы получить значение в ThreadClass деятельности у ниже

    int thread_id = Integer.parseInt(getIntent().getStringExtra("thread_id"));

Надеется, что это помогает

Смежные вопросы