0

在我的android项目中,我使用两个简单的按钮(button1和button2)通过我的android(使用WiFi)成功地将字符串/文本发送到计算机。但我想使用“仅单个图像按钮(作为切换)”而不是我的两个简单按钮(按钮 1 和按钮 2)。这是我的代码。

   import java.io.IOException;
   import java.io.PrintWriter;
   import java.net.Socket;
   import java.net.UnknownHostException;
   import android.os.Bundle;
   import android.app.Activity;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.Button;
   import android.widget.EditText;

   public class MainActivity extends Activity {

  private Socket client;
  private PrintWriter printwriter;
  private EditText etMsg;       //, etIP, etPort;
  private Button button;
  private Button button1;
  private String messsage;
  int port = 0; //

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

   //   etIP = (EditText) findViewById(R.id.editText1);
   //  etPort = (EditText) findViewById(R.id.editText2);
    etMsg = (EditText) findViewById(R.id.editText3);
    button = (Button) findViewById(R.id.button1);
    button1 = (Button) findViewById(R.id.button2);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            messsage = "TV ON" ; //etMsg.getText().toString();
            etMsg.setText("");
           // port = Integer.parseInt(etPort.getText().toString());

            new Thread(new Runnable() 
            {

                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    try 
                    {
                      //  client = new Socket(etIP.getText().toString(), port);
                        client = new Socket("1.2.3.4",2000);

                        printwriter = new     
                        PrintWriter(client.getOutputStream(),true);
                        printwriter.write(messsage);
                        printwriter.flush();
                        printwriter.close();
                        client.close();
                    }

                    catch (UnknownHostException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }       
                }
            }).start();


        }
      });

      button1.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
          // TODO Auto-generated method stub

        messsage = "TV OFF" ; //etMsg.getText().toString();
        etMsg.setText("");
       // port = Integer.parseInt(etPort.getText().toString());

        new Thread(new Runnable() 
        {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                try 
                {
                  //  client = new Socket(etIP.getText().toString(), port);
                    client = new Socket("1.2.3.4",2000);

                    printwriter = new PrintWriter(client.getOutputStream(),true);
                    printwriter.write(messsage);
                    printwriter.flush();
                    printwriter.close();
                    client.close();
                }

                catch (UnknownHostException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }       
            }
        }).start();


    }
    });
    }
    }
4

1 回答 1

0

正如您所说,您想使用切换按钮来打开和关闭命令。这些是使用切换按钮的一些代码:

toggleButton1 = (ToggleButton) findViewById(R.id.toggleButton1);
toggleButton2 = (ToggleButton) findViewById(R.id.toggleButton2);
btnDisplay = (Button) findViewById(R.id.btnDisplay);

btnDisplay.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

       StringBuffer result = new StringBuffer();
       result.append("toggleButton1 : ").append(toggleButton1.getText());
       result.append("\ntoggleButton2 : ").append(toggleButton2.getText());

       Toast.makeText(MyAndroidAppActivity.this, result.toString(),
        Toast.LENGTH_SHORT).show();

    }

完整的教程,你可以在这里得到它:Android 切换按钮示例

于 2013-04-17T08:37:18.233 回答