2011-11-25 110 views
1

我想从列表视图(当它被点击时)传递整数(id)到TheEndActivity.java。但我的代码不能正确检索整数。从列表视图传递整数到另一个活动

UsernameList.java(它是其中整数来自类)

public void onListItemClick(ListView parent, View view, int position, long id) {   
    Intent i = new Intent(this, TheEndActivity.class); 
    i.putExtra("int", (int)id); 
    Log.e(LOG_TAG, "id value "+id); 
    startActivity(i); 

    Intent intent = new Intent(UsernameList.this, QuizAppActivity.class); 
    startActivity(intent); 
} 

TheEndActivity.java(及其类,其中i需要在这里通过整数。它onCreate方法内部产生)

Intent i = getIntent(); 
    final int number = i.getIntExtra("int", -1); 

,我需要使用整数(ID),我将它保存到数据库(操作在TheEndActivity.java完成)

finishBtn.setOnClickListener(new View.OnClickListener() {   
    @Override 
    public void onClick(View v) { 

     helper.insertMark(currentGame.getRight(), number); 
     Log.e(LOG_TAG, "id value: " + number); 
     Intent i = new Intent(TheEndActivity.this, MainMenu.class); 
     startActivity(i); 
    } 
}); 

已解决

问题是我叫2活动。谢谢你们

+1

我不明白,你为什么要调用'startActivity()'两次? – Dalmas

+0

你确定要'id'还是'position'? – Pawan

+0

为什么不通过'long'而不是'int'? –

回答

4

问题似乎是在调用2 startActivities。 TheEndActivity和QuizAppActivity都是活动吗?

  1. 如果需要将TheEndActivity更改为IntentService或AsyncTask(如果它的某些后台活动如将事物保存到数据库中)。
  2. 如果不是,则只启动TheEndActivity并允许用户从那里导航到QuizAppActivity。

  3. 也尝试改变
    意图i =新的意图(this,TheEndActivity.class);到 Intent i = new Intent(UsernameList.this,TheEndActivity.class);

+0

thx。对于第3点:有什么区别? – kumisku

+0

因此,如果我想保存传递的整数,我需要将其更改为IntentService?我可以简单地将它作为选项2吗? – kumisku

+1

谢谢@chandra终于我只是打电话1活动,然后我从该活动访问价值。 – kumisku

0

您正在与intent不具备INT作为额外调用startActivity

+2

意图我有额外的。 – bschandramohan

+1

@ChandraMohan:执行的是第二个,没有额外的。 – Macarse

相关问题