いくつかの画像ボタンをクリックしていくつかのアクションを実行すると、関数click()を呼び出しています。
public void onClick(View v)
{
switch (v.getId()) {
case R.id.btn_first_person:
Log.i("utc","1st person");
this.flip(R.id.btn_i);
this.flip(R.id.btn_we);
break;
case R.id.btn_i:
Log.i("utc","I clicked");
this.change("I","play");
break;
case R.id.btn_we:
Log.i("utc","We clicked");
this.change("We","plays");
break;
default: Log.i("utc","default");
Log.i("utc","asa" + v.getId());
}
}
「btn_i」ボタンは正常に機能していますが、「btn_we」ボタンをクリックすると、デフォルトに戻ります。どうしてか分かりません??
public void change(String person, String verb)
{
txtUsageFirst=(TextView)findViewById(R.id.utc_usage_one);
txtUsageSecond=(TextView)findViewById(R.id.utc_usage_two);
txtUsageFirst.setText(person);
txtUsageSecond.setText(verb);
}
また、最初のケース(btn_first_person)でこのフリップ関数を呼び出すと、btnTemp =(Button)findviewbyid(r);でエラーが発生します。行[logcatは"check"、"1"を表示しません]
public void flip(Integer r)
{
Log.d("check","enetred flip");
Log.d("check",r.toString());
btnTemp=(Button) findViewById(r);
Log.d("check","1");
if(btnTemp.getVisibility()== View.VISIBLE)
{
Log.d("check","invisible now");
btnTemp.setVisibility(View.GONE);
}
else
{
Log.d("check","visible now");
btnTemp.setVisibility(View.VISIBLE);
}
}