您好 我正在尝试更新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());
}
}
由于
答案 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,但你必须在同一个线程上。