Mój wyjściowy (pionowy) widok:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:onClick="onClick"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical" >
<requestFocus />
<ImageView
android:id="@+id/logowanie_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:contentDescription="@string/LOGOWANIE_LOGO_TXT"
android:src="@drawable/logo" />
<TextView
android:id="@+id/logowanie_txt_haslo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/logowanie_txt_login"
android:layout_marginLeft="10dp"
android:layout_marginTop="25dp"
android:text="@string/LOGOWANIE_HASLO"
android:textSize="17sp" />
<EditText
android:id="@+id/logowanie_haslo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/logowanie_txt_haslo"
android:layout_alignBottom="@id/logowanie_txt_haslo"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/logowanie_txt_haslo"
android:inputType="textPassword"
android:lines="1"/>
<TextView
android:id="@+id/logowanie_txt_powitanie"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/logowanie_logo"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="35dp"
android:gravity="center_horizontal"
android:text="@string/LOGOWANIE_POWITANIE"
android:textSize="17sp" />
<TextView
android:id="@id/logowanie_txt_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/logowanie_txt_haslo"
android:layout_below="@id/logowanie_txt_powitanie"
android:layout_marginLeft="10dp"
android:layout_marginTop="35dp"
android:text="@string/LOGOWANIE_LOGIN"
android:textSize="17sp" />
<EditText
android:id="@+id/logowanie_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/logowanie_txt_login"
android:layout_alignBottom="@id/logowanie_txt_login"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/logowanie_txt_login"
android:ems="10"
android:inputType="text"
android:lines="1" />
<Button
android:id="@+id/logowanie_przycisk_dalej"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/logowanie_haslo"
android:layout_centerHorizontal="true"
android:layout_marginTop="34dp"
android:minHeight="50dp"
android:minWidth="100dp"
android:onClick="logIN"
android:text="@string/LOGOWANIE_DALEJ" />
<CheckBox
android:id="@+id/logowanie_zapamietaj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="10dp"
android:text="@string/LOGOWANIE_ZAPAMIETAJ"
android:textSize="12sp" />
</RelativeLayout>
Xml orientacji poziomej:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</RelativeLayout>
Metoda onCreate:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_logowanie);
upr = Uprawnienia.wezInstancje();
checkBox = (CheckBox) findViewById(R.id.logowanie_zapamietaj);
login = (EditText) findViewById(R.id.logowanie_login);
haslo = (EditText) findViewById(R.id.logowanie_haslo);
SharedPreferences pref = this.getSharedPreferences("Ustawienia", Context.MODE_PRIVATE);
String str = pref.getString(LOGIN, BRAK_LOGINU);
if (!(str.equals(BRAK_LOGINU) || (str.equals(NULL)))){
login.setText(str);
checkBox.setChecked(true);
}
else{
login.setText("");
checkBox.setChecked(false);
}
}
Jeśli jest tak jak mówisz, to faktycznie mój problem może być związany z otrzymywaniem NullPointerException przy landscape. Czyli rozumiem, że wszystkie komponenty na widoku poziomym powinny się nazywać tak samo, jak w pionowym? Dzięki za pomoc