我的代码是这样的
import android.app.Activity;import android.content.Context;import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.SignalStrength;import android.telephony.TelephonyManager;
import android.widget.TextView;public class SignaltestActivity extends Activity {
/** Called when the activity is first created. */ TelephonyManager Tel;
MyPhoneStateListener MyListener; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); TextView myText1 = (TextView) findViewById(R.id.myText1); MyListener = new MyPhoneStateListener();
Tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); myText1.setText("场强:"); Tel.listen(MyListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
} protected void onPause() {
super.onPause();
Tel.listen(MyListener, PhoneStateListener.LISTEN_NONE); } protected void onResume() {
super.onResume();
Tel.listen(MyListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
} private class MyPhoneStateListener extends PhoneStateListener { @Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
// TODO Auto-generated method stub
super.onSignalStrengthsChanged(signalStrength); TextView myText2 = (TextView) findViewById(R.id.myText2);
myText2.setText(String.valueOf(-113 + 2
* signalStrength.getGsmSignalStrength())); } }}我怎么样写才能让myText2.setText(String.valueOf(-113 + 2* signalStrength.getGsmSignalStrength()));进行动态、实时刷新,我看了下大概是用线程来做,主要是我想让我的程序实时的更新信号强度,但是我我是初学者 还没有摸到 门路 请大家帮帮忙吧、谢谢

解决方案 »

  1.   

    Timer timer = new Timer(1, new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
    la3.setText(s);
    }

    });
    定时刷新
      

  2.   

    onSignalStrengthsChanged 方法不能够接收到实时更新?
      

  3.   

    onSignalStrengthsChanged你的监听器回调是不是在线程中回调的呢?如果是必然会出问题,android非UI线程不允许操作UI,可以在onSignalStrengthsChanged使用Handler把更新消息发送出来更新即可,关于Handler的用法不在赘述。