0

我必须用 android 编写一个程序,它可以找到其他 ssid 并显示它们。我用 2 个 xml 页面设计了它。我在 page2 中创建了一个 imagebutton 并想在 imagebutton 和搜索方法之间建立关系。这意味着我想单击 imagebutton 和搜索方法开始它的工作并搜索 ssid 并显示它们......我的问题是,我下载了我的搜索方法,因此我无法识别我必须在我的 setonclick 方法上调用哪个方法我在第二页写一个图像按钮?我尝试为搜索方法单独创建另一个类,并从 page2 的第二个类中调用它。但我不知道如何在这两个类之间建立关系(我的意思是第二类和第三类)。或者我必须在一类中编写搜索方法并单击我的图像按钮?谢谢你的建议。

import java.util.Date;
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.util.Log;
import android.widget.TextView;

public class wifiScan extends Activity {

    private class WifiReceiver extends BroadcastReceiver{
        @Override
      public void onReceive(Context c, Intent intent) {
        List<ScanResult> results = wifi.getScanResults();
        Date tempDate=new Date();
        String info=testNumber+" "+(tempDate.getTime()-testDate.
          getTime()) +" "+results.size();
        Log.i("wifiScan", info);    
        wifiText.setText(info);
        testNumber++;
        testDate=new Date();
        wifi.startScan();

        }
    }
    private TextView wifiText;
    private WifiManager wifi;
    private WifiReceiver receiver;
    private Date testDate;
    private static int testNumber=0;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        testNumber=0;

        wifiText = (TextView) findViewById(R.id.wifiText);
        receiver=new WifiReceiver();
        registerReceiver(receiver, new IntentFilte
           (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
        wifi =(WifiManager)getSystemService(Context.WIFI_SERVICE);
        if(!wifi.isWifiEnabled()){

            wifi.setWifiEnabled(true);

          }
        startScan();


    }
    @Override
    public void onStop(){
        super.onStop();
        finish();
    }
    public void startScan(){
        testDate=new Date();
        wifi.startScan();
    }
}
4

1 回答 1

0
you_image_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    Intent i = new Intent(this, wifiScan.class);
    getApplicationContext().startActivity(i);
            }
        });
于 2013-08-21T15:09:32.607 回答