获取一个EditText到String然后在Toast中显示

时间:2019-03-20 19:04:32

标签: java android string

我是Java的新手,并且已经尝试了好几天了,看来无论如何我似乎都需要对基础进行更多的投入,无论如何,看来我做的不对,这是代码。

public class MainActivity extends AppCompatActivity {
    EditText web;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button);
        final EditText web = findViewById(R.id.web);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String webastring = web.getText().toString();
                Toast.makeText((this,web.toString(), "asd", Toast.LENGTH_SHORT).show();
            }
        });

    }
}

4 个答案:

答案 0 :(得分:1)

通过以下代码

更新button.setOnClickListener()方法

setDropDownViewResource()

答案 1 :(得分:0)

为了获取EditText(或TextView的任何其他子级)的内容,您必须调用函数getText()

所以您的代码将如下所示:

        Toast.makeText((this,web.getText().toString(), "asd", Toast.LENGTH_SHORT).show();

答案 2 :(得分:0)

按以下代码更新button setOnClickListener

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String webastring = web.getText().toString();
        Toast.makeText(MainActivity.this ,webastring, Toast.LENGTH_SHORT).show();
    }
});

答案 3 :(得分:0)

您必须使用MainActivity.this而不是仅使用this。这里的“ this”代表匿名类而不是MainActivity。但是您必须将主要活动参考传递给Toast。您还将四个参数(而不是三个)放到Toast.makeText()方法中。因此,您必须传递三个参数。这是显示Toast的官方链接https://developer.android.com/guide/topics/ui/notifiers/toasts。我希望以下代码对您来说会很好。

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String webstring = web.getText().toString();
                Toast.makeText(MainActivity.this, webstring + "asd", Toast.LENGTH_SHORT).show();
            }
        });