【问题标题】:Changing Imageview on button dynamically动态更改按钮上的 Imageview
【发布时间】:2013-10-10 08:17:19
【问题描述】:

在我的应用程序中,我有按钮和ImageView

在这里,当我按下按钮时,我想更改 ImageView。我的可绘制文件夹中有 5 张图像。按下按钮 ImageView 会根据按钮单击一一更改图像。我想要它的解决方案。

感谢任何可以提供帮助的人。

【问题讨论】:

  • 你有代码吗?

标签: android android-imageview


【解决方案1】:

维护一个图像 id 数组,在 onClick 内部,使用数组中的 id 设置图像,然后增加索引。

例如:-

ArrayList<Integer> ids=new ArrayList<Integer>();
        ids.add(R.drawable.image1);
        ids.add(R.drawable.image2);
        ids.add(R.drawable.image3);
        ids.add(R.drawable.image4);
        ids.add(R.drawable.image5);
Int index=0
        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
if(index<ids.size()){
      imageview.setImageResource(ids.get(index));
       index++;
   }
 else index=0;
 }
 });

【讨论】:

  • 不客气。请注意,您必须根据需要编辑“其他”部分。
【解决方案2】:

正如@Nizam 所说,只需维护一个 id 数组并动态加载 onClick() 中的图像。而不是 Random 使用字段变量并增加它。注意数组长度!

final int[] ids = new int[] { R.drawable.img1, R.drawable.img2 };
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        int randomId = new Random().nextInt(ids.length);
        ImageView imageView = (ImageView) findViewById(R.id.imageview);
        imageView.setImageDrawable(getResources().getDrawable(randomId));
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    相关资源
    最近更新 更多