2015-02-27 2 views
-3

У меня есть две кнопки в моем виджетах Android, и я хочу изменить там видимость во время выполнения, т. Е. Если данные не будут присутствовать в локальной базе данных, я хочу скрыть одну кнопку.Как изменить видимость виджетов (кнопок) программно Android

Как я могу получить идентификатор этой кнопки и как я могу сделать ее видимой или невидимой.

Пожалуйста, предложите

+0

используя [setVisibility (View.GONE)] (http://developer.android.com/reference/android/view/View.html#setVisibility (int)), вы можете скрыть представление ... идентификатор кнопки определенный в макете xml –

+0

, вы можете использовать view.getId(), чтобы получить идентификатор этого представления. –

+0

Я знаю, что setVisibility (View.GONE) спрятать кнопку ... но в виджета мы не можем установить видимость прямо как кнопка. setVisibility (View.GONE) ... Мы должны найти идентификатор, используя удаленные представления. –

ответ

0

использовать этот код:

Button btnFirst=(Button)findViewById(R.id.btn); 
btnFirst.setVisibilty(View.INVISIBLE); 
0
btn.setVisibility(View.VISIBLE); 
btn.setVisibility(View.GONE); 
1

Установить идентификатор на кнопки, которые вы хотите изменить видимость в вашем XML-макет:

<Button 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/button"/> 

В вашей вызов активности findViewById() - метод поиска кнопки в ui:

View button = findViewById(R.id.button); 

и, наконец, установить видимость:

button.setVisibility(View.GONE); 
2

Вы не можете изменить видимость, как:

<Button 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/button"/> 

View button = findViewById(R.id.button); 

button.setVisibility(View.GONE); 

Вы должны получить вид кнопки, как

RemoteViews.findViewById(R.id.button, Visibility.GONE); 
+0

Да, это сработало для меня. Большое спасибо!! –

0

скрыть или кнопку show вы можете использовать Remoteview.setViewVisibility (viewid, Remoteview.visibility)

Смежные вопросы