繁体   English   中英

如何将一个edittext的结果传递给另一个edittext?

[英]how to pass the result of one edittext to another edittext?

如何将一个edittext的结果传递给另一个edittext? 这是我的一个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());

我想要tv.setText(vis.toString()); 将被传输到另一个编辑文本,我将使用该文本作为Asynctask(服务器-客户端通信)的输入。

谁能帮我?

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,并将字符串作为参数传递给该函数。

如果您的EditText需要AsyncTask doInBackground方法中的长时间计算结果,则应在asyncTask的onPostExcute方法中更新此editexts值。 希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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