java - 我的上一个 ImageView 图像按钮不起作用

标签 java android

我有两个按钮和一个 ImageView。当我单击“下一步”按钮时,它将转到可绘制文件夹中的下一个图像。但上一个按钮不起作用。不知道为什么,我觉得我的逻辑是对的。这是我的代码:

public class Photo_gallery extends Activity implements OnClickListener{

    Button next,previous;
    ImageView slika;

    int a = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.photo_gallery);

        InicijalizujVarijable();
    }

    private void InicijalizujVarijable() {
        next = (Button) findViewById(R.id.bNext);
        previous = (Button) findViewById(R.id.bPrevious);
        slika = (ImageView) findViewById(R.id.imageView1);


        next.setOnClickListener(this);
        previous.setOnClickListener(this);

    }

    public void onClick(View v) {
        switch (v.getId()){

        case R.id.bNext:
            if (a == 0)
            {
            slika.setImageResource(R.drawable.p2);
            a = 1;
            }
            else if (a == 1)
            {
            slika.setImageResource(R.drawable.p3);
            a = 2;
            }
            else if (a == 2)
            {
            slika.setImageResource(R.drawable.p4);
            a = 3;
.
.
.
.
            }
            else if (a == 56)
            {
                startActivity(new Intent("com.example.apps.MENU"));
                finish();
            }
            break;
        case R.id.bPrevious:
            a--;
            next.performClick();
            break;

        }

    }

最佳答案

为什么不把它变成一个函数来做到这一点

public void onClick(View v) {
    switch (v.getId()){

    case R.id.bNext:
///function calling  
       a++;
       setImage(a);            
        break;

    case R.id.bPrevious:
        if(a>0)
        {
            a--;
            setImage(a);  
            break;
        }

    }

}
private void setImage(int a)
    {   
        if (a == 0)
        {
        slika.setImageResource(R.drawable.p2);
        }
        else if (a == 1)
        {
        slika.setImageResource(R.drawable.p3);
        }
        else if (a == 2)
        {
        slika.setImageResource(R.drawable.p4);
   .
   .
   .
   .
        }
        else if (a == 56)
        {
            startActivity(new Intent("com.example.apps.MENU"));
            finish();
        }
 }

编辑 递增和递减由 onClick 方法使用 a++a-- 完成 记住启动你的int a =-1。但默认图片将为空,直到您单击 NextPicture
动态变量对你来说总是更好,即。使用 ++-- 增加而不是用值初始化它。例如a=21。不优选。

关于java - 我的上一个 ImageView 图像按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17236832/

相关文章:

android - 如何在 Android Studio 中更改项目名称

java - 使用按钮事件处理程序刷新图像面板

java - 如何向 JFace 对话框添加超链接

java - MockMvc 抛出 HttpMediaTypeNotSupportedException 状态预期为 : 201 but was 415

Android 我怎样才能从图库中获取视频文件的缩略图

android - flutter : How to Debug which widgets re-rendered on state change

java - 在 Android 中通过蓝牙接收数据

java - 如何在 JTextArea 中格式化文本

java - 使用模板方法模式设计过滤器接口(interface)

java - ListView 中的按钮不可点击