Java 安卓:点击“逐渐改变可见性”

Java 安卓:点击“逐渐改变可见性”,java,android,button,visibility,tablerow,Java,Android,Button,Visibility,Tablerow,我有一个小问题,对我来说是不可能解决的。我有很多名为Radek_X的表格行,它们被设置为android:visibility=“gone”。 我需要的是,如果您第一次单击按钮(该过程只有一个按钮),它会将Radek_1更改为android:visibility=“visible”如果您第二次单击按钮,它会将Radek_2从不可见更改为可见,而Radek_1仍然可见。对于所有其他表格行,依此类推。我真的很绝望。我将非常感谢任何帮助!祝你今天愉快 这是我的java文件 package jansold

我有一个小问题,对我来说是不可能解决的。我有很多名为Radek_X的表格行,它们被设置为
android:visibility=“gone”。
我需要的是,如果您第一次单击按钮(该过程只有一个按钮),它会将Radek_1更改为
android:visibility=“visible”
如果您第二次单击按钮,它会将Radek_2从不可见更改为可见,而Radek_1仍然可见。对于所有其他表格行,依此类推。我真的很绝望。我将非常感谢任何帮助!祝你今天愉快

这是我的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);
    }
}


`
包jansoldat.formular100;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.TableRow;
导入java.util.ArrayList;
公共类MainActivity扩展了AppCompatActivity{
按钮按钮前的按钮;
表格行Radek_2、Radek_3、Radek_4、Radek_5、Radek_6;
@凌驾
私有ArrayList ArrayList;
专用阵列适配器;
创建时受保护的void(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);
}
公共无效PridejdalsistaniceClicked(视图五)
{
Radek_2.设置可见性(View.VISIBLE);
Radek_3.设置可见性(View.VISIBLE);
Radek_3.设置可见性(View.VISIBLE);
Radek_4.设置可见性(View.VISIBLE);
Radek_5.设置可见性(View.VISIBLE);
Radek_6.设置可见性(视图.可见);
}
}
`

实际上,将onClick方法更改为比您想象的更简单,我假设您正在通过xml将其设置为
pridejdalsistaneclicked

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++;
    }
}
int[]views=newint[]{R.id.Radek_2,R.id.Radek_3,R.id.Radek_4};//。。。
int计数器=0;
公共无效PridejdalsistaniceClicked(视图五)
{
findViewById(视图[计数器]).setVisibility(视图.VISIBLE);

if(counterIt's working,非常感谢,先生!!但是我能有第二个问题吗?如何修复应用程序在耗尽所有tablerows后出现的故障?我知道这显然是个愚蠢的问题,但我是Android编程新手。如果视图ID正确,我不应该失败,为了防止异常,我们有if语句