Temat: [Android + Java] Zjawisko PARANORMALNE (Landscape)
Kiedy rozpoczynam inicjalizację ramki/okna w metodzie onCreate, i chcę zmienić tryb wyświetlania ekranu na "LANDSCAPE", to cały program, przyciski, zdarzenia, timery, działa idealnie, ale program nie wchodzi w metodę klasy, którą używam do wysyłania danych po sieci lan. Co więcej program POMIJA BLOK WARUNKOWY if(){} else{}, w którym w if i w else znajduje się moja metoda do wysyłania danych (TCPClient).Jeśli natomiast nie zmienię trybu wyświetlania na Landscape, to program wchodzi i w metody i w instrukcję wysyłania danych.
kod onCreate:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("START: ","BEGIN IS HERE");
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//Jeśli to, co poniżej wykomentuję to program działa poprawnie
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
Kod wykonywany po podniesienu palca z ekranu, w którym występuje dziwne zjawisko:
private void RuneCursorEvents1(MotionEvent e)
{
if(e.getAction() != 1) return;
Log.v(" ACTION: ","UP");
nsX = e.getX();
nsY = e.getY();
Log.v(" nsX - nsY: ","" + nsX + " - " + nsY);
if(nsX == 0 && nsY == 0)
{
Log.v(" Sending EX2: ","");
try{TCPC.Set(("LPM").getBytes());} catch(IOException e2) {}
}
else
{
Log.v(" Sending EX3: ","");
try {TCPC.Set(("x" + (int)nsX + "y" + (int)nsY ).getBytes());} catch (IOException e3){}
}
}
Dzięki Log.v(" ACTION: ","UP");, wiem że metoda jest wykonywana za każdym razem gdy podnoszę palec i działa zawsze, jednak Jeśli linika "setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);" jest wstawiona tak jak w pierwszym kodzie, w metodzie onCreate, to logcat wogóle nie pokazue logów ani Log.v(" Sending EX3: ",""); ani Log.v(" Sending EX2: ",""); Natomiast, jeśli liniję tę usunę to logi te się pojawiają.
Jak to jest możliwe, i co zrobić żeby linijka:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
nie powodowała błędów ???
Ewentualnie, czy można w jakiś sposób zmieniać orientację samych kontrolek np: Button, tak by np, móc go obrócić o 90 stopni etc. ?Mateusz Grzelak edytował(a) ten post dnia 19.09.11 o godzinie 17:17