在Android Java中动态更新textview数据
我实现了代码来检查wifi是否连接。我做了一个文本视图在Android Java中动态更新textview数据,java,android,Java,Android,我实现了代码来检查wifi是否连接。我做了一个文本视图 TextView WifiTv = (TextView) findViewById(R.id.wifistate); ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiCheck = connectionManager.ge
TextView WifiTv = (TextView) findViewById(R.id.wifistate);
ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiCheck = connectionManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiCheck.isConnected()) {
// Do whatever here
WifiTv.setText("WiFi is Connected");
WifiTv.notify();
} else {
WifiTv.setText("WiFi is not Connected");
}
它可以工作,但不会动态更新,因此如果我关闭wifi,我必须刷新活动以更改textview(未绑定数据)。我如何在不刷新的情况下更新textview?Thx
编辑:我在一个单独的类中有这段代码,它可以很好地与toast一起工作。我所要做的就是在textview中显示。如何将textview变量连接到这个没有xml的类
public void onReceive(Context context, Intent intent) {
NetworkInfo info =
intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (info != null && info.isConnected()) {
// Do your work.
// e.g. To check the Network Name or other info:
WifiManager wifiManager = (WifiManager)
context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
Toast.makeText(context, "Connected to: " + ssid,
Toast.LENGTH_SHORT).show();
}
您需要BroadcastReceiver和wifimanager。BroadcastReceiver,当应用程序启动时启动,每次接收隐式意图。wifimanager以检查状态 您是否尝试添加onResume功能,以便在每次恢复活动时再次检查 不知道你的应用程序,但可能是这个
@Override
protected void onResume() {
super.onResume();
if (wifiCheck.isConnected()) {
// Do whatever here
WifiTv.setText("WiFi is Connected");
WifiTv.notify();
} else {
WifiTv.setText("WiFi is not Connected");
}
}
如果您的其他变量不是活动的全局变量,请在onResume中重新创建它们何时调用此代码段?