[英]Get a EditText to String then show in Toast
我是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();
}
});
}
}
通過以下代碼更新button.setOnClickListener()方法
button.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v)
{
String webastring = web.getText().toString();
Toast.makeText(getApplicationContext(),webastring,Toast.LENGTH_SHORT).show();
}});
為了獲得EditText(或TextView的任何其他子級)的內容,必須調用函數getText()
。
因此,您的代碼將如下所示:
Toast.makeText((this,web.getText().toString(), "asd", Toast.LENGTH_SHORT).show();
更新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();
}
});
您必須使用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();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.