2011-11-25 111 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

相關問題