Как создать Button, чтобы скрыть/показать ListView

Рейтинг: 0Ответов: 1Опубликовано: 25.04.2015

Как сделать кнопку при помощи которой можно скрыть/показать ListView

UPD_0:

btn2.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
        ListView listview = (ListView) findViewById(R.id.listViewData_proversebya_animal);
        listview.setVisibility(View.VISIBLE); 
        listview.setAdapter(new ArrayAdapter<String>(ProversebyaAnimal.this,android.R.layout.simple_list_item_1, output));
        btn2.setText("Скрыть ошибки");

        btn2.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                ListView listview = (ListView) findViewById(R.id.listViewData_proversebya_animal);
                listview.setVisibility(View.INVISIBLE);
                listview.setAdapter(new ArrayAdapter<String>(ProversebyaAnimal.this,android.R.layout.simple_list_item_1, output));
                btn2.setText("Показать ошибки");
            }
        });
    });

Ответы

▲ 3

Пример кода:

public class MainActivity extends Activity {
    ListView listview;
    Button btn2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listview = (ListView) findViewById(R.id.listViewData_proversebya_animal);
        listview.setAdapter(new ArrayAdapter<String>(ProversebyaAnimal.this,android.R.layout.simple_list_item_1, output));
        btn2 = (Button) findViewById(R.id.btn2);
        btn2.setOnClickListener(new View.OnClickListener() {
            boolean isShown = listview.getVisibility() == View.VISIBLE;
            listview.setVisibility(isShown ? View.INVISIBLE : View.VISIBLE);
            btn2.setText(isShown ? R.string.hide_errors : R.string.show_errors);
        });
    }
}

Совет: используйте как можно меньше вызовов findViewById - это достаточно накладная операция (результат лучше сохранить в переменную и обращаться к ней)