2012-02-20 111 views
0

这是我的代码。这里有一些错误,我无法解决它。任何人都可以帮助我吗? view.OnClickListener和View v中存在错误。如果我使用快速修复来修复错误,则会出现另一个错误。请帮助我:'(我该如何解决OnClickListener1

package com.android; 

    import java.io.BufferedReader; 
    import java.net.InetAddress; 
    import java.net.UnknownHostException; 
    import java.io.*; 
    import android.app.Activity; 
    import android.os.Bundle; 
    import android.view.View.OnClickListener; 
    import android.view.View.*; 
    import android.widget.EditText; 
    import android.widget.TextView; 
    import android.widget.Button; 
    import android.text.Editable; 

    public class Net extends Activity implements View.OnClickListener 
    { 
     EditText edt; 
     TextView text; 
     Button ping; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) //To do auto generated method 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      edt=(EditText)findViewById(R.id.edt); 
      text=(TextView)findViewById(R.id.text); 
      ping=(Button)findViewById(R.id.ping); 
      Button.setOnClickListener(this); 
     } 

     public void onClick(View v) //To do auto generated method 
     { 
     Editable host=edt.getText(); 
     } 
     InetAddress addr=null; 
     { 
       Object host; 
       try 
       { 
        addr=InetAddress.getByName(host.toString()); 
       } 
     catch(UnknownHostException e) //To do auto generated catch block 
     { 
      e.printStackTrace(); 
     } 
     try 
     { 
      if(addr.isReachable (5000)) 
      { 
       text.append("\n" +host+ "-Respond Ok"); 
      } 
      else 
      { 
       text.append("\n"+host); 
      } 
     } 
     catch(IOException e){ 
      text.append("\n"+e.toString()); 
     } 


     try 
     { 
     String pingCmd="ping -c5"+host; 
     String pingResult=""; 
     Runtime r = Runtime.getRuntime(); 
     Process p = r.exec(pingCmd); 
     BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     String inputLine; 
     while((inputLine = in.readLine())!=null) 
     { 
      System.out.println(inputLine); 
      text.setText(inputLine+"\n\n"); 
      pingResult += inputLine; 
      text.setText(pingResult); 
     } 
     in.close(); 
     } 
     catch(IOException e) 
     { 
      System.out.println(e); 
     } 
      TextView tv = new TextView(this); 
      tv.setText("\t\t\t\t** Network Tracer ** \n\n\t\tWelcome to Android Network Tracer!"); 
      setContentView(tv); 
    } 
    } 
+0

什么错误?发布您的logcat – 2012-02-20 07:25:24

+0

错误在view.OnClickListener查看v Button.setOnClickListener – 2012-02-20 07:29:51

回答

0

如果错误是在线编译时间,那么最有可能的位置:

public void onClick(View v) //To do auto generated method 
    { 
    Editable host=edt.getText(); 
    } 
    InetAddress addr=null; 

你已经关闭的方法定义为唯一的语句,如果你想将所有下面的代码成的onClick方法,遵循:

public void onClick(View v) //To do auto generated method 
    { 
    Editable host=edt.getText(); 

    InetAddress addr=null; 

      Object host; 
      try 
      { 
       addr=InetAddress.getByName(host.toString()); 
      } 
    catch(UnknownHostException e) //To do auto generated catch block 
    { 
     e.printStackTrace(); 
    } 
    try 
    { 
     if(addr.isReachable (5000)) 
     { 
      text.append("\n" +host+ "-Respond Ok"); 
     } 
     else 
     { 
      text.append("\n"+host); 
     } 
    } 
    catch(IOException e){ 
     text.append("\n"+e.toString()); 
    } 


    try 
    { 
    String pingCmd="ping -c5"+host; 
    String pingResult=""; 
    Runtime r = Runtime.getRuntime(); 
    Process p = r.exec(pingCmd); 
    BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); 
    String inputLine; 
    while((inputLine = in.readLine())!=null) 
    { 
     System.out.println(inputLine); 
     text.setText(inputLine+"\n\n"); 
     pingResult += inputLine; 
     text.setText(pingResult); 
    } 
    in.close(); 
    } 
    catch(IOException e) 
    { 
     System.out.println(e); 
    } 
     TextView tv = new TextView(this); 
     tv.setText("\t\t\t\t** Network Tracer ** \n\n\t\tWelcome to Android Network Tracer!"); 
     setContentView(tv); 
} 
0

如何更换验证码:

protected void onCreate(Bundle savedInstanceState) //To do auto generated method 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      edt=(EditText)findViewById(R.id.edt); 
      text=(TextView)findViewById(R.id.text); 
      ping=(Button)findViewById(R.id.ping); 
      Button.setOnClickListener(this); 
     } 

与此:

protected void onCreate(Bundle savedInstanceState) //To do auto generated method 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      edt=(EditText)findViewById(R.id.edt); 
      text=(TextView)findViewById(R.id.text); 
      ping=(Button)findViewById(R.id.ping); 
      ping.setOnClickListener(this); 
     } 

让我们知道这是否正常工作。 如果不是,那么请不要投下这个答案:)

+0

仍然有错误setOnClickListener – 2012-02-20 08:53:37

+0

请给我发送整个日志 – 2012-02-20 08:58:36

+0

错误ping.setOnClickListener(在setOnClickListener下有红线) – 2012-02-20 09:00:15