-4

こんにちは、ユーザーが次のレベルに進むために 3 つの画像を押す必要があり、次のレベルではユーザーが 5 つの画像を押す必要がある単純な教育ゲームを作成しています。

私はオンクリックを経験しましたが、オンを使用してIntent intent = new Intent(this.getApplicationContext(), Activity.class); this.startActivity(intent, 0);、単一のボタンを押したときにのみ新しいアクティビティを開始できますが、ユーザーが3つの画像ボタンを押し終わったときに新しいアクティビティを開始したかったのです。

ありがとうございます。

4

3 に答える 3

3

グローバルint変数を使用して、ボタンをクリックするたびにそれを増やすことができます。ボタン番号を超える場合は、新しいアクティビティを開きます

public int btn = 0;

  MyButton.setOnClickListener(new OnClickListener() 
{
 @Override          
 public void onClick(View v) 
 {              
     if(btn >= 2) {

//open your activity 

}   

else{
btn++;
}       
  }         
});
于 2013-11-05T10:48:31.013 に答える
1

あなたの問題に対する私の理解に基づいて、可能な簡単な実装を提供しました。キューやスタックなどの単純なデータ構造を使用します。画像がタップされると、画像に関する情報をデータ構造に追加します。データ構造に情報を追加した後、データ構造内の項目数が 3 に等しいかどうかを確認します。はいの場合、同じ画像に関する情報だけでなく、必要な 3 つの画像に関する情報がデータ構造に含まれていることを確認します (ユーザーが同じ画像を複数回タップした場合に発生します)。条件が満たされた場合は、startActivity() を呼び出します。これを一般化して、画像の数に関係なく、さまざまなアクティビティでロジックを再利用できるようにします。

于 2013-11-05T10:43:41.320 に答える
-1

こんにちは、私はついに私の目的の活動を達成しました。2つのチェックボックスアプリをチェックした後、これで新しいアクティビティが開始されます。

`private CheckBox chkIos, chkAndroid, chkWindows; プライベート ボタン btnDisplay; OnClickListener checkBoxListener;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    chkIos = (CheckBox) findViewById(R.id.chkIos);
    chkAndroid = (CheckBox) findViewById(R.id.chkAndroid);
    checkBoxListener =new OnClickListener() {


                public void onClick(View v) {

                    if(chkIos.isChecked()&&chkAndroid.isChecked()) {
                Intent i1=new Intent(getApplicationContext(), Main1.class);
                startActivity(i1);
                if(chkAndroid.isChecked())  {
                    Intent i2=new Intent(getApplicationContext(), Main1.class);
                    startActivity(i1);
                }
            }

        }
    };
    chkIos.setOnClickListener(checkBoxListener);
    chkAndroid.setOnClickListener(checkBoxListener);

}

} `

すべての回答に感謝します。

于 2013-11-06T10:02:25.883 に答える