如何在一个程序中建立两个类之间的关系?(android)

时间:2013-08-21 12:21:39

标签: java android image class

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

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();
    }
}

1 个答案:

答案 0 :(得分:0)

you_image_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    Intent i = new Intent(this, wifiScan.class);
    getApplicationContext().startActivity(i);
            }
        });
相关问题