Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中切换Case以用另一个图像替换图像。类似Tinder图像交换程序的东西_Java_Android_Android Studio - Fatal编程技术网

Java 在Android中切换Case以用另一个图像替换图像。类似Tinder图像交换程序的东西

Java 在Android中切换Case以用另一个图像替换图像。类似Tinder图像交换程序的东西,java,android,android-studio,Java,Android,Android Studio,当我点击图像时,我希望当前图像被另一个图像替换,当我点击第二个图像时,第二个图像被第三个图像替换,依此类推。我想这样做3个或更多的图像 我用了一种非常简单的技术来实现这一点,但是我想用一个开关盒来实现同样的事情,这样当有多个图像时,代码就更直观、更高效了 activity_main.xml MainActivity.java package com.example.helloworld; 导入androidx.appcompat.app.appcompat活动; 导入android.os.B

当我点击图像时,我希望当前图像被另一个图像替换,当我点击第二个图像时,第二个图像被第三个图像替换,依此类推。我想这样做3个或更多的图像

我用了一种非常简单的技术来实现这一点,但是我想用一个开关盒来实现同样的事情,这样当有多个图像时,代码就更直观、更高效了

activity_main.xml


MainActivity.java

package com.example.helloworld;
导入androidx.appcompat.app.appcompat活动;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ImageView;
公共类MainActivity扩展了AppCompatActivity{
私有图像视图mImageView;
私有ImageView和ImageView;
私有ImageView m2ImageView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView=findViewById(R.id.stephen_carvalho_bald);
m1ImageView=findViewById(R.id.stephen_carvalho_golden_宝塔);
m2ImageView=findViewById(R.id.stephen_carvalho_hackathon);
mImageView.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图)
{
mImageView.setVisibility(视图.不可见);
m1ImageView.setVisibility(View.VISIBLE);
}
});
m1ImageView.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图)
{
m1ImageView.setVisibility(视图.不可见);
m2ImageView.setVisibility(View.VISIBLE);
}
});
m2ImageView.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图)
{
m2ImageView.setVisibility(视图.不可见);
mImageView.setVisibility(View.VISIBLE);
}
});
}
}

将所有图像添加到列表中:

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

按照我的方式,它会循环使用列表,但你可以通过在上面的计数器上设置适当的检查来打破循环。

不管怎样,给你,你的应用程序的一个工作开关,快乐编码老兄

package com.example.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private ImageView mImageView;
    private ImageView m1ImageView;
    private ImageView m2ImageView;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mImageView = findViewById(R.id.stephen_carvalho_bald);
        m1ImageView = findViewById(R.id.stephen_carvalho_golden_pagoda);
        m2ImageView = findViewById(R.id.stephen_carvalho_hackathon);

        mImageView.setOnClickListener(this);
        m1ImageView.setOnClickListener(this);
        m2ImageView.setOnClickListener(this);

        }

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.stephen_carvalho_bald:
            mImageView.setVisibility(View.INVISIBLE);
            m1ImageView.setVisibility(View.VISIBLE);
            Toast.makeText(this, "You clicked view1", Toast.LENGTH_LONG).show();
            break;
        case R.id.stephen_carvalho_golden_pagoda:
            m1ImageView.setVisibility(View.INVISIBLE);
            m2ImageView.setVisibility(View.VISIBLE);
            Toast.makeText(this, "You clicked view2", Toast.LENGTH_LONG).show();
            break;
        case R.id.stephen_carvalho_hackathon:
            m2ImageView.setVisibility(View.INVISIBLE);
            mImageView.setVisibility(View.VISIBLE);
            Toast.makeText(this, "You clicked view3", Toast.LENGTH_LONG).show();
            break;

         }
      }
   }

嗯,我认为你应该考虑使用一个回收查看,你不需要三个不同的图像浏览。
package com.example.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private ImageView mImageView;
    private ImageView m1ImageView;
    private ImageView m2ImageView;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mImageView = findViewById(R.id.stephen_carvalho_bald);
        m1ImageView = findViewById(R.id.stephen_carvalho_golden_pagoda);
        m2ImageView = findViewById(R.id.stephen_carvalho_hackathon);

        mImageView.setOnClickListener(this);
        m1ImageView.setOnClickListener(this);
        m2ImageView.setOnClickListener(this);

        }

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.stephen_carvalho_bald:
            mImageView.setVisibility(View.INVISIBLE);
            m1ImageView.setVisibility(View.VISIBLE);
            Toast.makeText(this, "You clicked view1", Toast.LENGTH_LONG).show();
            break;
        case R.id.stephen_carvalho_golden_pagoda:
            m1ImageView.setVisibility(View.INVISIBLE);
            m2ImageView.setVisibility(View.VISIBLE);
            Toast.makeText(this, "You clicked view2", Toast.LENGTH_LONG).show();
            break;
        case R.id.stephen_carvalho_hackathon:
            m2ImageView.setVisibility(View.INVISIBLE);
            mImageView.setVisibility(View.VISIBLE);
            Toast.makeText(this, "You clicked view3", Toast.LENGTH_LONG).show();
            break;

         }
      }
   }