понедельник, 8 августа 2011 г.

Android: Переход с layout на layout

  Решил я попробовать разработку под android+java. И сразу наткнулся на непонятку - как сделать сначала логинную форму, а потом перейти в основное окно приложения. Читая Разработка приложений для Android я понял, что просто запутался в этих layout-ах и реально не понимаю как перейти с одного в другой. Но, после мелкого теста оказалось, что проблем нет. Решение следующее:

Прописываем два layout-а. 
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical">
    <EditText android:id="@+id/editText1" android:layout_height="wrap_content" android:layout_width="fill_parent">
        <requestFocus></requestFocus>
    </EditText>
    <EditText android:id="@+id/editText2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:inputType="textPassword"></EditText>
    <Button android:id="@+id/button1" android:layout_gravity="center_horizontal" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/loginbutton" android:onClick="LogInbuttonClick"></Button>
</LinearLayout>

next.xml

<?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">
    <TextView android:id="@+id/textView1" android:layout_height="wrap_content" android:text="@string/app_name" android:layout_width="wrap_content"></TextView>
   
</LinearLayout>



Ключевой момент тут android:onClick="LogInbuttonClick" , который значит что после нажатия кнопки LogIn необходимо вызвать метод LogInbuttonClick. который выглядит так


public void LogInbuttonClick(View target){
        setContentView(R.layout.next);
    }
Который в свою очередь меняет основной layout приложения. В общем книги конечно хорошо, но иногда надо и ручками экспериментировать :)

Успеха.