大家好我是Android编程的新手,我在xml方面遇到很多问题。几个小时前我问你如何隐藏布局,所有问题都解决了Link。无论如何,我尝试在许多其他问题中看到隐藏和显示一些ImageButton但不仅仅是ImageButtons没有显示,现在两个布局都没有显示:/
这是我的代码:
public class Hide_Unhide extends Activity {
LinearLayout barrainfo;
ImageButton icotelefono;
ImageButton icoemail;
ImageButton icofacebook;
ImageButton icotwitter;
ImageButton icosito;
ImageButton prova;
public Hide_Unhide (View v){
barrainfo = (LinearLayout)v.findViewById(R.id.links_bar); //tutta la barra
icotelefono = (ImageButton) v.findViewById(R.id.telephone_icon); //pulsante chiamata
icoemail = (ImageButton) v.findViewById(R.id.email_icon); //pulsante nuova mail
icofacebook = (ImageButton) v.findViewById(R.id.facebook_icon); //pulsante facebook
icotwitter = (ImageButton) v.findViewById(R.id.twitter_icon); //pulsante twitter
icosito = (ImageButton) v.findViewById(R.id.sito_icon); //pulsante sito web
};
public void mostra_nascondi(int numero_di_informazioni, int info_number){ //numero di informazioni = 0 (no info) - 1 (si info)
/*if (numero_di_informazioni <= 0){ //info_number = identifica il social o il telefono o l'email
barrainfo.setVisibility(View.GONE); //se per l'info_number = 3 corrisponde un numero informazioni = 0
}else //il locale non ha l'email
{ //
barrainfo.setVisibility(View.VISIBLE); // - - - Schema Informazioni - - - - - - - - - -
// - - - - - - - - + - - - - - - - - - - - - - - -
}*/ // | 2: telefono | num_di_informazioni [0-1] |
// | 3: email | num_di_informazioni [0-1] |
// | 5: facebook | num_di_informazioni [0-1] |
// | 6: twitter | num_di_informazioni [0-1] |
// | 7: Google+ | num_di_informazioni [0-1] |
// | 8: Instagram | num_di_informazioni [0-1] |
// - - - - - - - - - - - - - - - - - - - - - - -
switch (info_number){
case 0:
if (numero_di_informazioni <= 0){
barrainfo.setVisibility(View.GONE);
}else
{
barrainfo.setVisibility(View.VISIBLE);
}
break;
case 2: //telefono
if(numero_di_informazioni <= 0)
{
icotelefono.setVisibility(View.GONE);
}else
{
icotelefono.setVisibility(View.VISIBLE);
}
break;
case 3: //email
if(numero_di_informazioni <= 0)
{
icoemail.setVisibility(View.GONE);
}else
{
icoemail.setVisibility(View.VISIBLE);
}
break;
case 5: //facebook
if(numero_di_informazioni <= 0)
{
icofacebook.setVisibility(View.GONE);
}else
{
icofacebook.setVisibility(View.VISIBLE);
}
break;
case 6: //twitter
if(numero_di_informazioni <= 0)
{
icotwitter.setVisibility(View.GONE);
}else
{
icotwitter.setVisibility(View.VISIBLE);
}
break;
case 7: //sito
if(numero_di_informazioni <= 0)
{
icosito.setVisibility(View.GONE);
}else
{
icosito.setVisibility(View.VISIBLE);
}
break;
}
}
}
XML代码段:
<LinearLayout
android:id="@+id/links_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/title_bar"
android:background="#222222"
android:orientation="horizontal"
android:gravity="center_horizontal|center_vertical|fill_horizontal"
android:visibility="gone">
<ImageButton
android:src="@drawable/telephone_icon"
android:id="@+id/telephone_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#222222"
android:visibility="gone"/>
<ImageButton
android:src="@drawable/email_icon"
android:id="@+id/email_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/telephone_icon"
android:background="#222222"
android:visibility="gone"/>
<ImageButton
android:src="@drawable/facebook_icon"
android:id="@+id/facebook_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/email_icon"
android:background="#222222"
android:visibility="gone"/>
<ImageButton
android:src="@drawable/twitter_icon"
android:id="@+id/twitter_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/facebook_icon"
android:background="#222222"
android:visibility="gone"/>
<ImageButton
android:src="@drawable/sito_icon"
android:id="@+id/sito_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/twitter_icon"
android:background="#222222"
android:visibility="gone"/>
</LinearLayout>
致电&#34; mostra_nascondi()&#34;:
Hide_Unhide metodo = new Hide_Unhide(v);
int numero_informazioni=0;
tvnomeditta.setText(Dati_history[indice_riga][nome_luogo]); //Stampo il nome del posto
tvindirizzoditta.setText(Dati_history[indice_riga][indirizzo]); //Stampo il suo indirizzo
if(Dati_history[indice_riga][telefono].equals("")){ //scompare/appare se c'è il num di telefono
numero_informazioni=0;
}else
{
tot_informazioni++;
numero_informazioni++;
metodo.mostra_nascondi(numero_informazioni,telefono);
}
if(Dati_history[indice_riga][descrizione].equals("")){ //Se una descrizione esiste la stampo altrimenti
tvdescrizione.setText("Nessuna descrizione"); //scrivo "Nessuna Descrizione"
}else
{
tot_informazioni++;
numero_informazioni++;
tvdescrizione.setText(Dati_history[indice_riga][descrizione]);
}
if(Dati_history[indice_riga][email].equals("")){ //mostra/scompare icona mail
numero_informazioni = 0;
}else
{
tot_informazioni++;
numero_informazioni++;
metodo.mostra_nascondi(numero_informazioni,email);
}
if(Dati_history[indice_riga][facebook].equals("")){ //mostra/scompare icona facebook
numero_informazioni = 0;
}else
{
tot_informazioni++;
numero_informazioni++;
metodo.mostra_nascondi(numero_informazioni,facebook);
}
if(Dati_history[indice_riga][twitter].equals("")){ //mostra/scompare icona twitter
numero_informazioni = 0;
}else
{
tot_informazioni++;
numero_informazioni++;
metodo.mostra_nascondi(numero_informazioni,twitter);
}
if(Dati_history[indice_riga][sito].equals("")){ //mostra/scompare icona sito web
numero_informazioni = 0;
}else
{
tot_informazioni++;
numero_informazioni++;
metodo.mostra_nascondi(numero_informazioni,sito);
}
谢谢大家。
答案 0 :(得分:1)
尝试从android:visibility="gone"
中删除LinearLayout
。父母必须是可见的才能显示其任何子女