EditText到String? Android的

时间:2014-02-14 17:27:58

标签: android button android-edittext tostring toast

我无法从EditText获取文本并将其转换为字符串,然后在吐司中显示输入的文本。 Toast仅显示一个没有文本的小空白栏。这是我的代码。

package com.asssra.textinput;

import android.os.Bundle;
import android.app.Activity;
import android.text.Editable;
import android.view.Menu;
import android.view.View;
import android.widget.*;

public class MainActivity extends Activity {

    EditText t;
    Button b;
    String s;

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

        t = (EditText) findViewById(R.id.box);

        b = (Button) findViewById(R.id.button);

        s = t.getText().toString();

        b.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this,s,Toast.LENGTH_LONG).show();
            }
        });

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

2 个答案:

答案 0 :(得分:5)

移动此

 s = t.getText().toString();

刚刚初始化后,您将从edittext获取文本。只需移动onClick

即可

按钮的ClickListener内部

 b.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        s = t.getText().toString();
        Toast.makeText(MainActivity.this,s,Toast.LENGTH_LONG).show();
        }
    });

答案 1 :(得分:0)

为什么我们没有用铸造来完成这个?

EditText getNameField = (EditText) findViewById(R.id.your_edit_text);
String castToString = (String) getNameField.getText();
return castToString;