Я делаю приложение, в котором я хочу, чтобы пользователь имел другие виды в портретном режиме, чем в ландшафтном режиме. Итак, я сделал 1 обычный xml-файл, а затем сделал еще один, на котором я подписал при создании xml-файла, который предназначен для ландшафтного режима. Таким образом, autocaly была создана дополнительная папка с именем layout-land, в которой находится новый xml-файл (с тем же именем, что и старый).Ошибка ландшафтного режима
Но всякий раз, когда я запускаю свое приложение в ландшафтном режиме, он сбой (xml-файл для MainActivity.java)?
Моего XML-файл для ландшафтного режима: выход
<?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" >
<TextView
android:id="@+id/landscape1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Houd uw telefoon rechtop en herstart de app voor correcte weergave"
android:textColor="#665252" />
</RelativeLayout>
Logcat:
06-03 19:22:14.664: D/AndroidRuntime(285): Shutting down VM
06-03 19:22:14.664: W/dalvikvm(285): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-03 19:22:14.684: E/AndroidRuntime(285): FATAL EXCEPTION: main
06-03 19:22:14.684: E/AndroidRuntime(285): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.rome/com.example.rome.MainActivity}:
java.lang.NullPointerException
06-03 19:22:14.684: E/AndroidRuntime(285): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.os.Looper.loop(Looper.java:123)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-03 19:22:14.684: E/AndroidRuntime(285): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 19:22:14.684: E/AndroidRuntime(285): at java.lang.reflect.Method.invoke(Method.java:521)
06-03 19:22:14.684: E/AndroidRuntime(285): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-03 19:22:14.684: E/AndroidRuntime(285): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-03 19:22:14.684: E/AndroidRuntime(285): at dalvik.system.NativeStart.main(Native Method)
06-03 19:22:14.684: E/AndroidRuntime(285): Caused by: java.lang.NullPointerException
06-03 19:22:14.684: E/AndroidRuntime(285): at com.example.rome.MainActivity.onCreate(MainActivity.java:21)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-03 19:22:14.684: E/AndroidRuntime(285): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-03 19:22:14.684: E/AndroidRuntime(285): ... 11 more
Mainactivity.java:
package com.example.rome;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.EditText;
import android.widget.Button;
import android.view.View;
import android.widget.Toast;
import android.content.Intent;
import android.view.MenuInflater;
import android.view.MenuItem;
public class MainActivity extends Activity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.imageButton1).setOnClickListener(this);
findViewById(R.id.imageButton2).setOnClickListener(this);
findViewById(R.id.imageButton3).setOnClickListener(this);
findViewById(R.id.imageButton4).setOnClickListener(this);
findViewById(R.id.imageButton5).setOnClickListener(this);
findViewById(R.id.imageButton6).setOnClickListener(this);
findViewById(R.id.imageButton7).setOnClickListener(this);
findViewById(R.id.imageButton8).setOnClickListener(this);
findViewById(R.id.imageButton9).setOnClickListener(this);
}
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.imageButton1:
startActivity(new Intent(MainActivity.this, Metros.class));
break;
case R.id.imageButton2:
startActivity(new Intent(MainActivity.this, Programma.class));
break;
case R.id.imageButton8:
startActivity(new Intent(MainActivity.this, Italiaans.class));
break;
//-- more cases --
case R.id.imageButton9:
startActivity(new Intent(MainActivity.this, Telefoonnummers.class));
break;
case R.id.imageButton7:
startActivity(new Intent(MainActivity.this, Kaart.class));
break;
case R.id.imageButton5:
startActivity(new Intent(MainActivity.this, Restaurants.class));
break;
case R.id.imageButton3:
startActivity(new Intent(MainActivity.this, Bus.class));
break;
case R.id.imageButton4:
startActivity(new Intent(MainActivity.this, Winkelen.class));
break;
case R.id.imageButton6:
startActivity(new Intent(MainActivity.this, Syllabus.class));
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.Over:
startActivity(new Intent(this, Over.class));
return true;
case R.id.Hotels:
startActivity(new Intent(this, Hotels.class));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
activity_main.xml (Версия портретный режим):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0B0E15"
android:gravity="center_horizontal"
tools:context=".MainActivity" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/metro2" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_toLeftOf="@+id/imageButton1"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/programma" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imageButton1"
android:layout_toRightOf="@+id/imageButton1"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/bus2" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
android:height="20dp"
android:textColor="#FFFFFF"
android:width="175dp" />
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageButton1"
android:layout_toLeftOf="@+id/imageButton3"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/supermarkt2" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageButton2"
android:layout_below="@+id/imageButton2"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/restaurants2" />
<ImageButton
android:id="@+id/imageButton6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imageButton4"
android:layout_toRightOf="@+id/imageButton4"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/syllabus2" />
<ImageButton
android:id="@+id/imageButton7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageButton4"
android:layout_toLeftOf="@+id/imageButton6"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/kaartrome2" />
<ImageButton
android:id="@+id/imageButton8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageButton6"
android:layout_alignTop="@+id/imageButton7"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/italiaans2" />
<ImageButton
android:id="@+id/imageButton9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imageButton7"
android:layout_toLeftOf="@+id/imageButton7"
android:minHeight="100dp"
android:minWidth="100dp"
android:src="@drawable/telefoon2" />
<TextView
android:id="@+id/Streeptop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_centerHorizontal="true"
android:text="______________________________________________"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/Streep"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/Streeptop"
android:layout_below="@+id/imageButton7"
android:text="_______________________________"
android:textColor="#FFFFFF" />
</RelativeLayout>
Можете ли вы мне помочь?
Спасибо заранее, Ide
Можете ли вы разместить логарифм, когда он сработает? – codeMagic
Можете ли вы разместить вывод Logcat для сбоя? И чтобы уточнить, у вас есть два XML-файла с именем «xml-file.xml», один в папке макета и один в папке-макете? Кроме того, у вашего RelativeLayout отсутствует открывающий тег <<", хотя я сомневаюсь, что это ваша проблема, возможно, ошибка с копией. – MattDavis
У меня есть два файла с именем activity_main.xml. Открывающий тег - это copy-paste miscue yes. Я дам logcat сейчас: – Ide