1

私のAndroidプロジェクトでは、2つの画像ボタン(開始と停止)を取りました。START IMAGE BUTTONを押すとSTOP IMAGE BUTTONに変換されますが、STOP IMAGE BUTTONを押すとSTART BUTTONに変換されません。どこに問題があるのか​​教えてください。

  mImageButton.setOnFocusChangeListener(
  new OnFocusChangeListener()
  {
  @Override
  public void onFocusChange(View v, boolean hasFocus) {
  // TODO Auto-generated method stub
  if (hasFocus==true)
  {
      mImageButton.setImageResource(R.drawable.stop);
  }
 else
 {
  mImageButton.setImageResource(R.drawable.play);
 }
  }
 });

 mImageButton.setOnClickListener(
 new OnClickListener() {
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
 mImageButton.setImageResource(R.drawable.stop);
   }
   });     
 }
}
4

5 に答える 5

0

正しい方法は、セレクターを使用することです

drawable に次の ImgBtnSelector.xml を作成します。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
     android:state_pressed="true"
     android:drawable="@drawable/custom_info_bubble1" />
    <item 
     android:state_pressed="false"
     android:drawable="@drawable/custom_info_bubble" />
</selector>

レイアウト xml で、イメージ ボタンの背景をこのセレクターとして設定します。

セレクターのリンクはこちら

于 2013-04-17T05:44:12.270 に答える
0

このコードを試してみてください..あなたを助けるかもしれません.

 boolean isStart = true ;
 boolean isStop = false;
 mImageButton.setOnClickListener(
 new OnClickListener() {
 @Override
 public void onClick(View v) {
// TODO Auto-generated method stub
 if(isStart){
 isStart =false ;
 isStop = true ;
 mImageButton.setImageResource(R.drawable.play);
 }else{
 isStart = true ;
isStop = false;
mImageButton.setImageResource(R.drawable.stop);
 }
}
});     
}
}
于 2013-04-17T05:44:58.170 に答える
0
Boolean isStart=true;//This is global

mImageButton.setOnClickListener(
 new OnClickListener() {
 @Override
 public void onClick(View v) {
 // TODO Auto-generated method stub
if(isStart)
 mImageButton.setImageResource(R.drawable.stop);
else
 mImageButton.setImageResource(R.drawable.start);

isStart=!isStart;
   }
   });     
 }
}

これは、 onfocusChanged 部分を緩める必要があるものです

于 2013-04-17T05:47:52.980 に答える