ボタンが 18 個あるアプリケーションをセットアップしました。この背後にある基本的な考え方は、これらのボタンのうち 3 つがクリックされると、文字列変数が各ボタンに割り当てられるというものです。次に、値が加算され、文字列と比較されます。文字列の値が一致する場合、警告ダイアログが表示されるようにしたいと思います。各ボタン変数を共有設定に保存しようとしましたが、アラート ダイアログは、そのアクティビティを再開した後にのみ表示されます。私はこれがすぐに起こることを望みます。誰かがこれに光を当てることができれば、私は永遠に感謝します. また、これを行うより効率的な方法が可能であれば、それは役に立ちます。
ボタンなどのブロックの外側の変数を処理するのが難しいかどうかはわかりません。方法を知っていれば、3 つの変数をボタン ブロックの外に渡して同じファイル内で呼び出し、比較してからアラートを設定するだけで済みます。繰り返しますが、基本的なロジックは次のとおりです。特定の 3 つのボタンが選択され、3 つすべてが選択された場合にのみ、警告ダイアログが表示されます。(それが役立つ場合は、他のボタンを選択すると、他のすべてのボタンがリセットされます)。コード:
public class Stage1Level1Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.stage1level1);
ImageButton a1 = (ImageButton) findViewById(R.id.a1);
ImageButton a3 = (ImageButton) findViewById(R.id.a3);
ImageButton a4 = (ImageButton) findViewById(R.id.a4);
ImageButton b1 = (ImageButton) findViewById(R.id.b1);
final ImageButton b2 = (ImageButton) findViewById(R.id.b2);
ImageButton b3 = (ImageButton) findViewById(R.id.b3);
ImageButton b4 = (ImageButton) findViewById(R.id.b4);
ImageButton c1 = (ImageButton) findViewById(R.id.c1);
final ImageButton c2 = (ImageButton) findViewById(R.id.c2);
ImageButton c3 = (ImageButton) findViewById(R.id.c3);
ImageButton c4 = (ImageButton) findViewById(R.id.c4);
ImageButton d1 = (ImageButton) findViewById(R.id.d1);
final ImageButton d2 = (ImageButton) findViewById(R.id.d2);
ImageButton d3 = (ImageButton) findViewById(R.id.d3);
ImageButton d4 = (ImageButton) findViewById(R.id.d4);
ImageButton e1 = (ImageButton) findViewById(R.id.e1);
ImageButton e3 = (ImageButton) findViewById(R.id.e3);
ImageButton e4 = (ImageButton) findViewById(R.id.e4);
a1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
a3.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
a4.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
b1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
b2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_filled);
SharedPreferences sharedPreferences1 = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences1.edit();
editor.putString("part1", "a");
editor.commit();
}
});
b3.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
b4.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
c1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
c2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
c2.setBackgroundResource(R.drawable.green_filled);
SharedPreferences sharedPreferences2 = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences2.edit();
editor.putString("part2", "b");
editor.commit();
}
});
c3.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
c4.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
d1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
d2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
d2.setBackgroundResource(R.drawable.green_filled);
SharedPreferences sharedPreferences3 = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences3.edit();
editor.putString("part3", "c");
editor.commit();
}
});
d3.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
d4.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
e1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
e3.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
e4.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b2.setBackgroundResource(R.drawable.green_empty);
c2.setBackgroundResource(R.drawable.green_empty);
d2.setBackgroundResource(R.drawable.green_empty);
}
});
SharedPreferences sharedPreferences1 = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
String part1 = sharedPreferences1.getString("part1", "");
SharedPreferences sharedPreferences2 = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
String part2 = sharedPreferences2.getString("part2", "");
SharedPreferences sharedPreferences3 = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
String part3 = sharedPreferences3.getString("part3", "");
String added = part1 + part2 + part3;
String compared = "abc";
if (added.equalsIgnoreCase(compared) ){
AlertDialog alertDialog = new AlertDialog.Builder(Stage1Level1Activity.this).create();
alertDialog.setTitle("Reset...");
alertDialog.setMessage("R u sure?");
alertDialog.setButton2("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
} });
alertDialog.show();
}
}
}