Мое приложение для Android - это просто. Он имеет только 1 активность. Я создал два макета для одного и того же вида деятельности: один для портретной позиции (внутри res/layout) и один для ландшафтного положения (внутри папки res/layout-land). Я даю код для обоих в конце этого вопроса.Ошибка при переключении с портрета на пейзаж
У меня нет ничего особенного внутри myActivity.java файл , я просто надуть макет:
package com.example.myApp;
import android.app.Activity;
import android.os.Bundle;
public class MCentralActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_myActivity);
}
}
Все отлично работает на данный момент. Если я держу свое устройство в портретной позиции, приложение вызовет соответствующий XML. Он работает как шарм, на случай, если я решит держать его в ландшафтном положении.
Проблема возникает, когда я решил добавить немного кода в вышеупомянутый файл myActivity.java; это по-прежнему очень просто!
package com.example.myApp;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
public class MCentralActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
ImageButton ibPacientes;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_myActivity);
ibPacientes = (ImageButton)findViewById(R.id.imageButton_Pacientes);
ibPacientes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//NOTHING INSIDE HERE!!
}
});
}
}
После реализации этого немного коды, , если я решу пойти пейзаж, приложение будет резко прекратить говорить «К сожалению MYAPP остановился». Интересно, что этого не произойдет, если я не реализую onClickListener!
Точная ошибка определяется LogCat является, как показано ниже:
03-28 13:39:27.870: E/SurfaceFlinger(157): DRAW orientation 1 viewport:(0, 0, 1920, 1080) frame(0, 0, 1920, 1080)
03-28 13:39:15.360: E/SurfaceFlinger(157): STATE orientation 1 viewport:(0, 0, 1920, 1080) frame(0, 0, 1920, 1080)
03-28 13:39:15.360: I/SurfaceFlinger(157): @@@@@@@@ orientation:1, transformOri:4
Не думаю, что расположение XML-файлов должен делать в моей проблеме, но я буду копировать и вставлять их в this link (for portrait) и this other link (for landscape), в чтобы не сделать этот вопрос чрезмерно длинным.
Заранее благодарен!
Проверьте расположение ландшафта xml. Есть ли кнопка с именем 'imageButton_Pacientes'? –
Этот фрагмент logcat не обнаруживает ошибок. – Simon
Проблема в вашем xml как уже ответил –