Ausblenden eines EditText & machen Sie es sichtbar, indem Sie auf ein Menü

Habe ich ein layout mit den Kontakt deatils des Telefons. Wenn ich auf die option im Menü brauche ich eine edittext sichtbar in diesem Bildschirm. Ich habe es getan. Aber es gibt problem, dass das Bearbeiten von text-Höhe belegt ist, die in dem Bildschirm, wenn Ihr unsichtbar gemacht. Wie kann ich entfernen Sie den Raum besetzt durch text Bearbeiten, während seine unsichtbaren in das screen(layout).. Mein code ist unten angegeben

Meine xml ist:

<?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>

und Klasse:

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;
        }
    }
}

InformationsquelleAutor der Frage jennifer | 2011-01-07

Schreibe einen Kommentar