2014-02-22 2 views
0

getX()getY() 함수를 사용하여 textView의 위치를 ​​얻으려고합니다. 아래 textView.getX()textView.getY()onCreate() 방법에 사용되는 코드로부터 알 수있는 바와 같이android에서 뷰의 정확한 위치를 가져올 수 없습니다.

0.0 값을 반환한다.

그러나 textView.getX()textView.getY()checkCoord 수익률 모두 getXgetY 기능 32.0에 사용됩니다.

getX()getY()의 값이 변경된 것을 이해할 수 없습니다. 친절하게 도와주세요. 코드는 다음과 같습니다

는 차이가 활동의 라이프 사이클과 관련이있다
public class MainActivity extends Activity { 
     TextView textView; 
     Button bt; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

        textView = (TextView) findViewById(R.id.textView1); 

        bt = (Button) findViewById(R.id.button1); 

        System.out.println("Inside onCreate textView X : " + textView.getX()); 
        System.out.println("Inside onCreate textView Y : " + textView.getY()); 

        bt.setOnClickListener(new View.OnClickListener() { 

        @Override 
        public void onClick(View v) { 
        // TODO Auto-generated method stub 
        checkCoord(v); 

        } 
        }); 

     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      // Inflate the menu; this adds items to the action bar if it is present. 
      getMenuInflater().inflate(R.menu.main, menu); 
      return true; 
     } 

     public void checkCoord(View view) { 

      System.out.println("Inside checkCoord textView X : " + textView.getX()); 
      System.out.println("Inside checkCoord textView Y : " + textView.getY()); 

     } 

} 
+0

textview의 위치가 필요합니까 ?? – Piyush

+0

'View'는'onLayout()'이 호출 된 후 x, y 위치를 갖습니다. 그리고 드로잉이 여전히 수행되지 않기 때문에 당신은'onCreate()'에서 올바른 값을 얻고 있습니다 ... –

답변

관련 문제