更改图像onClick()

时间:2013-08-06 09:20:47

标签: java android image

我正在构建一个Android应用程序,我需要一些建议(我对java很新,我一直在阅读this),我有一个按钮和一个图像,我需要更改每个图像按下按钮的时间。 这是一个看起来像石头的按钮,图像是一个碗,我需要每次按下石头按钮时,碗里还有一块石头(我有一个带有1,2,3,...的碗的图像)。 ..石头)。 我该怎么办?我不是必须要求代码,只是我应该这样做。

2 个答案:

答案 0 :(得分:3)

将您的碗图像放入数组

int[] Img_array={R.drawable.bowl1,R.drawable.bowl2,......}

&安培;使用其在按钮

的Onclick事件中的位置
public class MainActivity extends Activity {
             Public int counter=0;
             Button button;
             ImageView imageview;
             int[] Img_array={R.drawable.bowl1,R.drawable.bowl2};

                @Override
             public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
              button=(Button)findViewById(R.id.MyButton);
              imageview=(ImageView)findViewById(R.id.MyImageView);
               button.setOnClickListener(new View.OnClickListener() {

                            public void onClick(View v) {
                                 imageview.setBackgroundResource(Img_array[counter]);
                                      Counter++;
                                 if(counter==Img_array.length())
                                  {
                                        Counter=0;
                                   }


                                      }
                      });
           }
}

答案 1 :(得分:1)

试试这个

        Button stoneButton=(Button)findViewById(R.id.stoneButton);
        ImageView bowlImageView=(ImageView)findViewById(R.id.bowlImageView);;

         mCount=0;

        ArrayList<Integer> yourImages = new ArrayList<Integer>();
        yourImages.add(R.drawable.image1);
        yourImages.add(R.drawable.image2);
        yourImages.add(R.drawable.image3);


        stoneButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(mCount<yourImages.size())
                {
                bowlImageView.setImageResource(yourImages.get(mCount));
                mCount++;
                }

            }
        });

确保你检查onClick中的大小,否则它会崩溃。

最好在setImageResource

中使用setBackgroundResource而不是ImageView