2012-01-04 9 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

+0

を開始する前に、あなたの関数を呼び出す必要があります最初の質問である "pos"の値 – eurynox

+0

"pos"を新しいアクティビティに渡したいので、変数 "pos"をアプリケーションレベルの変数にする必要があります。あるいは、最も単純な方法では、putExtra関数 "intent" – Leo

答えて

0

べきで、あなたは常にそれがあなたの目標を達成するのではなく回り道だが、そのパッケージ名を使用して、アクティビティを呼び出すことができます。 intitiallyそれは次の質問に変更されますが、直接それはinitalに戻り

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

intitially関数を呼び出すと、次の質問に変更されますが、最初の質問である "pos"のinital値に直接切り替わります。 – eurynox

+0

@eurynoxこれは、やり直す、y ouがアプリを再起動し、変数を消去しています。これを解決するには、アプリケーションを再構築する必要がないようにアプリケーションを再構成するか、変数をテキストファイルに保存して変数を永続化させることができます。しかし、第二の選択肢は、バンダイのようなもので、あなたの恒久的な修正ではないはずです。 –

関連する問題