this is my full code on ListAdapter.java Class
public class ListAdapter extends BaseAdapter {
Context context;
LayoutInflater inflater;
List<ScanResult> wifilist;
public ListAdapter(Context context, List<ScanResult> wifilist) {
this.context = context;
this.wifilist = wifilist;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return wifilist.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
View view = convertView;
if (view == null) {
view = inflater.inflate(R.layout.list_item, null);
holder = new Holder();
holder.tvDetails = (TextView) view.findViewById(R.id.txtWifiName);
view.setTag(holder);
}
else {
holder = (Holder)view.getTag();
}
holder.tvDetails.setText(wifilist.get(position).SSID + "\n" + (wifilist.get(position).BSSID));
return view;
}
class Holder{
TextView tvDetails;
}
}
And this is my code for ActivityMenu.java Class
public class AP extends AppCompatActivity {
WifiManager wifiManager;
WifiReceiver wifiReceiver;
ListAdapter listAdapter;
ListView wifilist;
List mywifilist;
@SuppressLint("WifiManagerLeak")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ap);
wifilist = (ListView)findViewById(R.id.mylistview);
wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
wifiReceiver = new WifiReceiver();
registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
if(ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 0);
}
else{
scanWifiList();
}
}
private void scanWifiList() {
wifiManager.startScan();
mywifilist = wifiManager.getScanResults();
setAdapter();
}
private void setAdapter() {
listAdapter = new ListAdapter(getApplicationContext(),mywifilist);
wifilist.setAdapter(listAdapter);
}
class WifiReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
}
}
}