Android TextView更新

时间:2011-03-15 18:03:22

标签: android

您好 我正在尝试更新textview以在记录GPS坐标时通知用户。 我的问题是我需要从另一个类访问位置信息,我不能直接编辑除onCreate类之外的任何文本视图。

这是我的代码:

public class Location extends Activity {
    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 

        LocationListener mlocListener = new MyLocationListener(); 


        mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 

        } 



        public class MyLocationListener implements LocationListener 

        { 

        private final String TAG = null;

        @Override
        public void onLocationChanged(android.location.Location location) {
            // TODO Auto-generated method stub

              location.getLatitude(); 

                location.getLongitude(); 

                String Text = "My current location is: " + "Latitud = " + location.getLatitude() + "Longitud = " + location.getLongitude();

                try
                {
                    File root = Environment.getExternalStorageDirectory();
                    File gps = new File(root, "log.txt");




                BufferedWriter out = new BufferedWriter(
                        new FileWriter(gps,true)) ;

                TextView tv = (TextView)findViewById(R.id.textView1);
                tv.setText(Text);
                out.write(Text);
                out.write("");
                out.close();

                }


                catch (IOException e) {


                    Log.e(TAG, "Could not write file " + e.getMessage());

                }

        }

由于

3 个答案:

答案 0 :(得分:1)

我对textview有类似的问题,我正在使用gps类,并且我在屏幕上有更多textview,就像这个textview在屏幕上移动一样感兴趣的位置;

我删除所有textview,然后再添加textview,这样我就可以更新textview的位置;但我无法执行onclick方法,因为textview是连续添加和删除

答案 1 :(得分:0)

将位置信息存储在模型对象或单例中,然后从其他类访问该信息吗?

答案 2 :(得分:0)

在活动类中设置Handler,并将其传递给handler,当调用handler时,使用String向Handler发送消息。 (处理程序将更新GUI)。 http://developer.android.com/reference/android/os/Handler.html

编辑:BTW你可以从课外改变GUI,但你必须在同一个线程上。