简体   繁体   中英

how to pass the result of one edittext to another edittext?

How do I pass the result of one edittext to another edittext? This is my example code of one edittext:

String a,b,c,d;  
Integer vis;  
a = txtbox1.getText().toString();  
b = txtbox2.getText().toString();
c = txtbox3.getText().toString();
d = txtbox4.getText().toString();
vis = Integer.parseInt(a)*2+Integer.parseInt(b)*3+Integer.parseInt(c)*4+Integer.parseInt(d)*5;  
tv.setText(vis.toString());

And I want the value of tv.setText(vis.toString()); will be transferred to another one edittext which I will be using to be an input on my Asynctask (Server-Client communication).

Can anyone help me?

Asynctask:

public class ConnectToServerTask extends AsyncTask<View, Integer, Socket>
{
    private static final String IP_ADDRESS = "192.168.1.110";  // Kerv Server
    private static final int DEST_PORT = 1234; //port that is used

    private EditText kaboom;

    /**
     * Store provided views (used later in onPostExecute(...)).
     * 
     * Create socket to communicate with server (blocking call).
     */
    protected Socket doInBackground(View... params)
    {
        // Store provided views.
        if (params.length != 1)
            throw new IllegalArgumentException();

        kaboom = (EditText) params[0];


        // Create socket.
        Socket client = null;

        try
        {
            client = new Socket(IP_ADDRESS, DEST_PORT); // connect to server
        } catch (UnknownHostException e)
        {
            e.printStackTrace();
        } catch (IOException e)
        {
            e.printStackTrace();
        }

        return client;
    }

    /**
     * Write to server.
     */
    protected void onPostExecute(Socket client)
    {
        try
        {
            PrintWriter printwriter;
            String messsage;

            messsage = kaboom.getText().toString(); // get the text message on the text field
            kaboom.setText(null); // Reset the text field to blank

            printwriter = new PrintWriter(client.getOutputStream(), true);
            printwriter.write(messsage); // write the message to output stream

            printwriter.flush();
            printwriter.close();

            client.close();
        } 
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

创建一个字符串变量,并将您需要传输的值分配给另一个edittext,并将字符串作为参数传递给该函数。

If your EditText needs a result from a long calculation in AsyncTask doInBackground method then you should uptate this editexts value in onPostExcute method of asyncTask. Hope it helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM