我正在学习如何创建UI元素。我已经创建了一些EditText输入字段。在单击按钮时,我想捕获输入字段中的内容。

<EditText android:id="@+id/name" android:width="220px" />

那是我的领域。如何获取内容?


当前回答

如果你正在使用Kotlin,并且想让它通用,你可以使用扩展函数

扩展功能:

fun EditText.getTextString(): String {
    this.text.toString()
}

并直接从EditText中调用此方法

yourEditText.getTextString()

其他回答

最短和最简单

getText(editText);

获取文本(按钮);

getText(textView);

一些解决方法

只要在你的BaseActivity中创建方法,如果你没有的话。

public class BaseActivity extends AppCompatActivity{
    public String getText(TextView tv) {
        return tv.getText().toString().trim();
    } 
}

并通过这个BaseActivity扩展你的所有活动。

public class YourActivity extends BaseActivity {
  @Override
  public void onCreate(Bundle savedInstanceState){
     getText(editText);
     getText(button);
     getText(textView);
  }
}

注意,EditText,按钮扩展TextView,所以我只创建getText(TextView电视)。

试试这段代码

final EditText editText = findViewById(R.id.name); // your edittext id in xml
Button submit = findViewById(R.id.submit_button); // your button id in xml
submit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) 
    {
        String string = editText.getText().toString();
        Toast.makeText(MainActivity.this, string, Toast.LENGTH_SHORT).show();
    }
});

我希望这个方法能奏效:

Integer.valueOf(mEdit.getText().toString());

我尝试了Integer.getInteger()方法而不是valueOf() -它没有工作。

如果你正在使用Kotlin,并且想让它通用,你可以使用扩展函数

扩展功能:

fun EditText.getTextString(): String {
    this.text.toString()
}

并直接从EditText中调用此方法

yourEditText.getTextString()

从android中的EditText控件获取值。getext属性用于获取EditText的值:

EditText txtname = findViewById(R.id.name);
String name      =  txtname.getText().toString();