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

时间:2013-09-01 15:17:21

标签: java android android-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());的值转移到另一个edittext,我将用它作为我的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();
        }
    }
}

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果您的EditText需要AsyncTask doInBackground方法中的长计算结果,那么您应该在asyncTask的onPostExcute方法中提高此editexts值。希望它有所帮助。