2013-10-25 12 views
8

Ich benutze den folgenden Code, um die Position einer Schaltfläche zu erhalten, aber immer Null. Warum dies geschiehtgetLocationOnScreen() liefert null

Button b=(Button) findViewById(R.id.button2); 
    final int[] x=new int[2]; 
    b.getLocationOnScreen(x); 

Iam sicher hier jemand helfen kann mich

+0

, wo Sie oben Code anrufen? in onCreate()? –

+0

Es hängt davon ab, ob Sie diese Funktion nach der Erstellung Ihres Layouts oder vor der Erstellung Ihres Layouts für die Aktivität aufrufen. –

+1

Siehe meine Antwort [hier] (http://stackoverflow.com/questions/19525945/getlocationonscreen-of-a-child-of-gridlayout/19526211#19526211). Dein Problem wird gelöst. – Naddy

Antwort

12

die Sie interessieren ..

Button b; 

in Globel Variable

dann onCreate()

b=(Button) findViewById(R.id.button2); 

Nach onCreate();

@Override 
public void onWindowFocusChanged (boolean hasFocus) { 
     final int[] x=new int[2]; 
     b.getLocationOnScreen(x); 
} 
Verwandte Themen