Как установить кнопку невидимый андроид - PullRequest
1 голос
/ 03 апреля 2012

Поэтому я попытался сделать кнопку А невидимой, сначала я искал ответ на форуме и пробовал его, но он просто не работает.

int level=0;
    try{
        String FILENAME = "TowerFile";
        FileInputStream fos = openFileInput(FILENAME);
        byte[] b = new byte[1];
        fos.read(b);
        fos.close();
        if(new String(b).equalsIgnoreCase("1")){
            level=1;
        }
        if(new String(b).equalsIgnoreCase("2")){
            level=2;
        }
        if(new String(b).equalsIgnoreCase("3")){
            level=3;
        }
        if(new String(b).equalsIgnoreCase("4")){
            level=4;
        }
        if(new String(b).equalsIgnoreCase("5")){
            level=5;
        }
    }catch (java.io.FileNotFoundException e) {
    } catch (IOException e) {
            e.printStackTrace();
    }

    Button button1 = (Button) findViewById(R.id.button1);
    Button button2 = (Button) findViewById(R.id.button2);
    Button button3 = (Button) findViewById(R.id.button3);
    Button button4 = (Button) findViewById(R.id.button4);
    Button button5 = (Button) findViewById(R.id.button5);



    if(level==1){
        button1.setVisibility(View.INVISIBLE);
    }

Итак, я сначала извлекаю переменную A из моего файла, а затем хочу сделать кнопку A невидимой в зависимости от вывода.Я получаю номер Райта из моего файла, но он ничего не делает, я тоже сделал 0 и ушел, но ничего не работает

Ответы [ 4 ]

4 голосов
/ 03 апреля 2012
buttonName.setVisibility(View.GONE);

Это лучше, чем (View.INVISIBLE), потому что кнопка не получает места из макета.Если вы хотите, чтобы кнопка была видна в другой раз, просто используйте:

buttonName.setVisibility(View.VISIBLE);
4 голосов
/ 03 апреля 2012

попробуй сделать вот так

button1.setVisibility(Button.INVISIBLE);
1 голос
/ 03 апреля 2012

Код, который вы написали, чтобы сделать кнопку невидимой, верный.Проверьте, является ли переменная level 1 или нет.

0 голосов
/ 03 июня 2013

Следующий код выполняется в основном потоке / интерфейсе пользователя, чтобы скрыть кнопку. Если вы хотите, чтобы кнопка была прозрачной, измените код View.GONE на View.INVISIBLE.

Дом - это контекст.

try {

runOnUiThread(new Runnable() {

    @Override
    public void run() {                         
    ((Button) findViewById(R.id.my_button)).setVisibility(View.GONE);
    }
});
    } catch (Exception e) {

    Toast.makeText(Home.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}

Если вам нравится ответ, пожалуйста, проголосуйте. Спасибо

...