2012-06-28 64 views
0

我是android新手。我創建像在改變模擬器的方向時出現錯誤

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@android:color/white" 
    android:paddingTop="5dp" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"  
     android:layout_marginBottom="10dp" 
     android:src="@drawable/mazarslogo" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:src="@drawable/ic_launcher" /> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     xmlns:android="http://schemas.android.com/apk/res/android" > 

     .... 

    </RelativeLayout> 

</LinearLayout> 

一個main.xml中的文件這個文件在我RES /佈局/ main.xml中的文件夾。現在我創建一個名爲layout-land的新文件夾,並在其中放置一個文件main.xml。即RES /佈局,土地/ 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" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"  
     android:layout_marginBottom="10dp" 
     android:src="@drawable/mazarslogo" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:src="@drawable/ic_launcher" /> 

</LinearLayout> 

這裏是我的類

public class MainActivity extends Activity { 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //---the two buttons are wired to the same event handler--- 
     Button btn_login = (Button)findViewById(R.id.btn_login); 
     btn_login.setOnClickListener(btnListener); 

     ..... 

    } //end of onCreate() 

} //end of class MainActivity 

但現在當我運行該項目,該項目在縱向模式下打開,但是當我按Ctrl + F11改變模擬器的方向,然後我得到錯誤。

enter image description here

這裏是人像模式PIC

enter image description here

爲什麼我收到在橫向模式下這個錯誤?我做錯了什麼?

感謝

編輯 -------------------------------------- -----------------------------

這是我的工作RES /佈局,土地/ main.xml中的文件

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="@color/background" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:padding="1dip" 
android:orientation="horizontal" > > 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_gravity="center" 
    android:paddingLeft="20dip" 
    android:paddingRight="20dip" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"  
     android:layout_marginBottom="10dp" 
     android:src="@drawable/mazarslogo" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="10dp" 
     android:src="@drawable/ic_launcher" /> 

    <TableLayout 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_gravity="center" 
     android:stretchColumns="*" > 

     <TableRow> 

      <Button 
       android:id="@+id/btn_login"     
       android:text="@string/login"     
       android:textSize="12sp" 
       android:textStyle="bold" /> 

      <Button 
       android:id="@+id/btn_aboutUs"       
       android:text="@string/aboutUs"     
       android:textSize="12sp" 
       android:textStyle="bold" /> 

     </TableRow> 

     <TableRow> 
      <Button 
       android:id="@+id/btn_contactUs"     
       android:text="@string/contactUs"    
       android:textSize="12sp" 
       android:textStyle="bold" /> 

      <Button 
       android:id="@+id/btn_exit"     
       android:text="@string/exit"   
       android:textSize="12sp" 
       android:textStyle="bold" /> 
     </TableRow> 
    </TableLayout>   
</LinearLayout> 

+0

在這裏,你在XML文件按鈕... –

+0

@Basit請張貼你的應用程序logcat。 –

+1

這個喜歡你的'land' xml忘記'RelativeLayout',在你的'port'裏面,如果這個'RelativeLayout'佈局中的'R.id.btn_login'按鈕可能拋出'NullPointerException',你也可以粘貼你的logcate ? – idiottiger

回答

2

第一件事牢記兩個XML應該與同一數據無論是ImageView的,屁股上,或佈局有ID也應該是相同的兩個佈局potrait和lancaspe佈局和u都需要添加以下事情menifest在activtiy

android:configChanges="keyboardHidden|orientation" 
+0

這是適合你的 – Khan

相關問題