2011-01-07 23 views
27

Telefonun iletişim deatils'ini içeren bir düzen var. O seçenek menüsüne tıkladığımda, o ekranda bir edittext görünür hale getirmem gerekiyor. Ben yaptım. Ancak, düzenleme metni yüksekliği, görünmez yapıldığında ekranda tutulurken karşılaşılan bir sorun var.Bir EditText'i gizleyin ve bir menüyü tıklatarak görünür hale getirin

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:paddingLeft="10dp" 
    android:paddingRight="10dp"> 

    <ListView android:id="@id/android:list" android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:layout_weight="1" 
     android:drawSelectorOnTop="false"> 
    </ListView> 

    <TextView android:id="@id/android:empty" android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:text="No Entries available"> 
    </TextView> 




    <TableRow android:id="@+id/TableRow001" 
     android:layout_width="wrap_content" android:background="#C0C0C0" 
     android:layout_height="wrap_content"> 

     <EditText android:id="@+id/NumberEditText01" 

      android:layout_width="wrap_content" 
      android:paddingLeft="20dip" 
      android:layout_height="wrap_content"> 
     </EditText> 

     <Button android:layout_width="wrap_content" android:id="@+id/callNow01" 
      android:layout_height="wrap_content" 
      android:text="Call now" 
      > 
     </Button> 

    </TableRow> 
</LinearLayout> 

ve sınıf:

public class ListContacts extends ListActivity { 

    TableRow tableRow; 
    EditText phoneNumber; 
    Button callNow; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Associate the xml with the activity 
     setContentView(R.layout.activitylist); 
     tableRow = (TableRow) findViewById(R.id.TableRow001); 
     tableRow.setVisibility(View.INVISIBLE); 


     phoneNumber = (EditText) findViewById(R.id.NumberEditText01); 
     phoneNumber.setVisibility(View.INVISIBLE); 
     phoneNumber.setKeyListener(DialerKeyListener.getInstance()); 

     callNow = (Button) findViewById(R.id.callNow01); 
     callNow.setVisibility(View.INVISIBLE); 
    } 


    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 

      case FIRST: 
       tableRow.setVisibility(View.VISIBLE); 
       phoneNumber.setVisibility(View.VISIBLE); 
       callNow.setVisibility(View.VISIBLE); 
       break; 
     } 
    } 
} 
Nasıl ekranında (düzeni) .. Kodum

Benim xml aşağıda verilmiştir onun görünmez iken ise, düzenleme metninin tarafından işgal alanı kaldırabilirsiniz

cevap

74

phoneNumber.setVisibility(View.GONE); Adres

+0

Çok fazla indyfromoz teşekkürler. İyi çalışıyor. – jennifer

+0

@Jennifer: Eğer bu cevap sorununuzu çözmüşse, kabul etmelisiniz. – Mudassir

İlgili konular