2012-01-04 72 views
0

我有一個小問題。Android:創建一個意圖/活動的新實例

我想做一個問題列表應用程序,因此,當我按下一個按鈕我想要新的問題加載到QuestionActivity類,並且當按下上一個按鈕時我想上一個問題出現。

的problemen是,我無法弄清楚如何使QuestionActivity的新實例,當我按下按鈕..

ImageButton arrowLButton = (ImageButton) findViewById(R.id.arrowLButton); 
    arrowLButton.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      if(pos >= 0) 
      { 
       Intent intent = new Intent(QuestionActivity.this, QuestionActivity.class); 
       startActivity(intent); 
       setPos(getPos() - 1); 
       setQuestion(); 
      } 
     } 
    }); 

以上是按鈕的動作。

在此先感謝..

+0

你的代碼似乎是確定的,但開始新的活動 – Leo 2012-01-04 15:24:09

+0

之前,你應該打電話給你的函數。當我前(或後)調用的函數intitially則切換到下一個問題,但其直接切換回inital 「pos」的值是第一個問題 – eurynox 2012-01-04 15:31:57

+0

,因爲您想要將「pos」傳遞給新的活動,所以您應該使變量「pos」成爲應用程序級變量,或者以最簡單的方式,可以使用putExtra 「意圖」的功能 – Leo 2012-01-04 15:41:12

回答

0

應該就是失敗,你因爲某種原因,你可以使用它的包名,雖然這是實現你的目標的一個相當迂迴的方式總是打電話給你的活動。

PackageManager pm = getPackageManager(); //The getPackageManager() method must be called from inside the activity 
Intent intent = pm.getLaunchIntentForPackage("your.package.name"); 
startActivity(intent); 
+0

當我在開始之前(或之後)調用函數時,它會更改爲下一個問題,但直接切換回「pos」的初始值,這是第一個問題 – eurynox 2012-01-04 15:33:42

+0

@eurynox這是因爲通過啓動意圖再次,y ou正在重新啓動應用程序並清理變量。爲了解決這個問題,你可以重構你的應用程序,以便它不必重新啓動,或者通過將變量保存到文本文件來使變量保持不變。然而,第二種選擇更像是一個bandaid,可能不應該是你的永久性修復。 – 2012-01-04 15:40:51

相關問題