レベルに分けられたシンプルなAndroidゲームを開発しています。レベルが完了すると、レベルボタン(レベル選択メニュー)の横にチェックアイコン(ImageView)を表示したいと思います。次のように、ボタンを押すとレベルが完了します(InsideLevelActivity):
final EditText level1editText=(EditText)findViewById(R.id.level1editText);
Button level1completeButton=(Button)findViewById(R.id.level1completeButton);
level1completeButton.setOnClickListener(new View.OnClickListener()
public void onClick(View v)
{
final String edittext=level1editText.getText().toString();
if(edittext.trim().equals("Complete level"))
{
{
Intent visible1 = new Intent();
visible1.putExtra("iconvisible",0);
startActivity(visible1);
{
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.activity_level1completed,
(ViewGroup) findViewById(R.id.img11_toast));
Toast toast = new Toast(Level1Activity.this);
toast.setView(view);
toast.show();
{ onBackPressed(); {
return;
}
}
}
else
{
Toast.makeText(Level1Activity.this,
"Type Complete level.", Toast.LENGTH_LONG).show();
}
その後、レベル選択メニューアクティビティに戻ります。私はこの方法でデータを取得しようとしています(LevelMenuActivity):
ImageView logocheckicon1=(ImageView)findViewById(R.id.logocheckicon1);
logocheckicon1.setVisibility(View.GONE);
Intent visible1 = getIntent();
int state = Integer.parseInt(visible1.getExtras().get("iconvisible").toString());
complete1.setVisibility(iconvisible);
私は過去数日間、これ(2つのアクティビティ間でデータを渡す方法)を含む多くのアプローチを試しました。チェックアイコン(ImageView)を非表示にし、この方法で再び表示できるようにすることも試みました。
また、完了したすべてのレベルの横に同じチェックアイコンが表示されます。(同じドローアブルの10個の異なるIDを作成せずに)1つのImageViewだけでこれを達成することは可能ですか?
前もって感謝します。
編集:私が十分に明確でなかったならば、私は謝罪します。たとえば、MainActivityにある画像の可視性を、別のアクティビティのボタン内のインテントで変更する方法があると思いました。ご回答ありがとうございます。
EDIT2:別の失敗した試行のコードを追加しました。