Java 将wifi扫描结果显示为可单击按钮

Java 将wifi扫描结果显示为可单击按钮,java,android,android-adapter,Java,Android,Android Adapter,我如何通过单击连接到wifi网络的位置,创建一个将wifi结果显示为可点击按钮或其他内容的应用程序 下面的代码将SSID显示为列表,但不可单击 package com.example.amit.ak504; import java.util.List; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context;

我如何通过单击连接到wifi网络的位置,创建一个将wifi结果显示为可点击按钮或其他内容的应用程序

下面的代码将SSID显示为列表,但不可单击

    package com.example.amit.ak504;
    import java.util.List;
    import android.app.Activity;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.net.wifi.ScanResult;
    import android.net.wifi.WifiManager;
    import android.os.Bundle;
    import android.support.v7.app.ActionBar;
    import android.support.v7.app.AppCompatActivity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MainActivity extends AppCompatActivity {
        private static int LENGTH_SHORT=600;
        TextView mainText;
        WifiManager mainWifi;
        WifiReceiver receiverWifi;
        List<ScanResult> wifiList;// this is an object of List
        StringBuilder sb = new StringBuilder();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
  // setupActionBar();
    setContentView(R.layout.activity_main);
    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    mainText = (TextView) findViewById(R.id.tv1);
    mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    if (mainWifi.isWifiEnabled() == false)
    {
        // If wifi disabled then enable it
        Toast.makeText(getApplicationContext(), "wifi is disabled..making it  
     enabled",Toast.LENGTH_LONG).show();

        mainWifi.setWifiEnabled(true);
    }
    receiverWifi = new WifiReceiver();
    registerReceiver(receiverWifi, new
  IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    mainWifi.startScan();
    mainText.setText("Starting Scan...");
 }
 //  private void setupActionBar() {

//    if (actionBar != null) {
        // Show the Up button in the action bar.
  //      actionBar.setDisplayHomeAsUpEnabled(true);
//    }
//}
public ActionBar getSupportActionBar() {
    return getDelegate().getSupportActionBar();
}
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, 0, 0, "Refresh");//side menu
    return super.onCreateOptionsMenu(menu);
}

public boolean onOptionsItemSelected(MenuItem item) {
    mainWifi.startScan();
    mainText.setText("Starting Scan");
    return super.onOptionsItemSelected(item);
}

protected void onPause() {
    unregisterReceiver(receiverWifi);
    super.onPause();
}

protected void onResume() {
    registerReceiver(receiverWifi, new   
      IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    super.onResume();
}

// Broadcast receiver class called its receive method
// when number of wifi connections changed

class WifiReceiver extends BroadcastReceiver {



    // This method call when number of wifi connections changed
    public void onReceive(Context c, Intent intent)
    {
        sb = new StringBuilder();
        wifiList = mainWifi.getScanResults();
        //why getScanResult is stored into a list.
        //note that wifilist was a object of List<ScanResult>
        sb.append("\nNumber Of Wifi connections :"+wifiList.size()+"\n\n");
 Button bt1=(Button)findViewById(R.id.button);

        for(int i = 0; i < wifiList.size(); i++){


            sb.append(new Integer(i+1).toString() + ". ");
            sb.append((wifiList.get(i)).SSID);
            sb.append("\n\n");
        }
bt1.setText(wifiList.get(2).SSID);
        mainText.setText(sb);
    }

}
}
package com.example.amit.ak504;
导入java.util.List;
导入android.app.Activity;
导入android.content.BroadcastReceiver;
导入android.content.Context;
导入android.content.Intent;
导入android.content.IntentFilter;
导入android.net.wifi.ScanResult;
导入android.net.wifi.WifiManager;
导入android.os.Bundle;
导入android.support.v7.app.ActionBar;
导入android.support.v7.app.AppActivity;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.Button;
导入android.widget.TextView;
导入android.widget.Toast;
公共类MainActivity扩展了AppCompatActivity{
专用静态整数长度_SHORT=600;
文本视图主文本;
WifiManager mainWifi;
无线接收器接收器;
List wifiList;//这是List的一个对象
StringBuilder sb=新的StringBuilder();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setupActionBar();
setContentView(R.layout.activity_main);
ActionBar ActionBar=getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
mainText=(TextView)findViewById(R.id.tv1);
mainWifi=(WifiManager)getSystemService(Context.WIFI\u SERVICE);
if(mainWifi.isWifiEnabled()==false)
{
//如果禁用wifi,则启用它
Toast.makeText(getApplicationContext(),“wifi已禁用..正在创建
已启用”,Toast.LENGTH_LONG.show();
mainWifi.setWifiEnabled(true);
}
receiverWifi=新WifiReceiver();
注册接收人(接收人,纽约州)
IntentFilter(WifiManager.SCAN\u RESULTS\u AVAILABLE\u ACTION));
mainWifi.startScan();
setText(“开始扫描…”);
}
//私有void setupActionBar(){
//if(actionBar!=null){
//在操作栏中显示“向上”按钮。
//actionBar.setDisplayHomeAsUpEnabled(true);
//    }
//}
公共操作栏getSupportActionBar(){
返回getDelegate().getSupportActionBar();
}
公共布尔onCreateOptions菜单(菜单){
添加(0,0,0,“刷新”);//侧菜单
返回super.onCreateOptions菜单(菜单);
}
公共布尔值onOptionsItemSelected(菜单项项){
mainWifi.startScan();
setText(“开始扫描”);
返回super.onOptionsItemSelected(项目);
}
受保护的void onPause(){
未注册的接收器(接收器);
super.onPause();
}
受保护的void onResume(){
注册接收人(接收人,纽约州)
IntentFilter(WifiManager.SCAN\u RESULTS\u AVAILABLE\u ACTION));
super.onResume();
}
//广播接收器类调用其接收方法
//当wifi连接数发生变化时
类WifiReceiver扩展了BroadcastReceiver{
//此方法在wifi连接数更改时调用
接收时公共无效(上下文c,意图)
{
sb=新的StringBuilder();
wifiList=mainWifi.getScanResults();
//为什么将getScanResult存储到列表中。
//注意wifilist是List的一个对象
sb.追加(“\n Wifi连接数:”+wifiList.size()+“\n\n”);
按钮bt1=(按钮)findViewById(R.id.Button);
对于(int i=0;i
这就是我努力实现的目标:


为此使用回收器视图和适配器。在您的适配器中,请在itens中单击

如何使用recyclerview: