java - Android:点击渐进的可见性变化

标签 java android button visibility tablerow

我遇到了一个我无法解决的小问题。我有很多名为 Radek_X 的 TableRow,它们被设置为 android:visibility="gone"。 如果您是第一次点击按钮(该过程只有一个按钮),我需要将 Radek_1 更改为 android:visibility="visible" 如果您点击第二次点击该按钮会将 Radek_2 从消失变为可见,而 Radek_1 仍然可见。对于所有其他 TableRow,依此类推。我真的很绝望。我将非常感谢任何帮助!祝你有美好的一天!

这是我的java文件

package jansoldat.formular100;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TableRow;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    Button buttonPridejStaniceni;
    TableRow Radek_2, Radek_3, Radek_4,Radek_5,Radek_6;

    @Override
    private ArrayList<String> arrayList;
    private ArrayAdapter<String> adapter;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        buttonPridejStaniceni = (Button) findViewById(R.id.buttonPridejStaniceni);
        Radek_2 = (TableRow) findViewById(R.id.Radek_2);
        Radek_3 = (TableRow) findViewById(R.id.Radek_3);
        Radek_4 = (TableRow) findViewById(R.id.Radek_4);
        Radek_5 = (TableRow) findViewById(R.id.Radek_5);
        Radek_6 = (TableRow) findViewById(R.id.Radek_6);

    }

    public void PridejDalsiStaniceniClicked(View v)
    {
        Radek_2.setVisibility(View.VISIBLE);
        Radek_3.setVisibility(View.VISIBLE);
        Radek_3.setVisibility(View.VISIBLE);
        Radek_4.setVisibility(View.VISIBLE);
        Radek_5.setVisibility(View.VISIBLE);
        Radek_6.setVisibility(View.VISIBLE);
    }
}


`

最佳答案

实际上比您想象的要容易,更改您的 onClick 方法,我假设您通过 xml 将其设置为 PridejDalsiStaniceniClicked 到此:

int[] views = new int[]{R.id.Radek_2,R.id.Radek_3,R.id.Radek_4};//...
int counter = 0;
public void PridejDalsiStaniceniClicked(View v)
{
    findViewById(views[counter]).setVisibility(View.VISIBLE);
    if(counter<views.length){
        counter++;
    }
}

内部发生的事情是,当数组中仍有 View 时,我们将获取与按下次数计数器匹配的 View 。 有些人没有意识到 View ID 是整数,并且可以像示例中那样存储在数组中。

关于java - Android:点击渐进的可见性变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37846110/

相关文章:

android - 是否可以通过编程方式检测 Android 虚拟按钮?

java - Metro 的 Eclipse RCP 类加载问题

Java:发送和接收的单个类

android - 当许多在层次结构中时,Espresso 匹配第一个元素

java - Android RxJava Observable.interval() 不会停止发射项目

android - 如何在不缩放可绘制的情况下增加自定义 View 扩展按钮的填充?

java.lang.NoSuchMethodError : org. apache.poi.xssf.usermodel.XSSFWorkbook.<init>(Ljava/io/InputStream;)V

java - 无法连接到 Google API 客户端?

php - 自定义简单的点赞按钮(不是 facebook)

css - 如何在 webix 图标按钮上动态应用 css?