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

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

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


当前回答

我猜你在调用EditText对象“mEdit”时必须使用这段代码:

.toString myActivity.this.mEdit.getText () ()

只需确保编译器知道要调用和使用哪个EditText。

其他回答

字符串值= YourEditText.getText().toString;

最短和最简单

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电视)。

一种更高级的方法是使用butterknife bindview。这消除了冗余代码。

在gradle的依赖项下;把这两行加起来。

compile('com.jakewharton:butterknife:8.5.1') {
        exclude module: 'support-compat'
    }
apt 'com.jakewharton:butterknife-compiler:8.5.1'

然后同步。 在MainActivity中绑定编辑文本的示例

import butterknife.BindView;   
import butterknife.ButterKnife; 

public class MainActivity {

@BindView(R.id.name) EditTextView mName; 
...

   public void onCreate(Bundle savedInstanceState){
         ButterKnife.bind(this); 
         ...
   }

}

但是,当您感觉更舒服或开始处理大量数据时,这是一种替代方案。

我猜你在调用EditText对象“mEdit”时必须使用这段代码:

.toString myActivity.this.mEdit.getText () ()

只需确保编译器知道要调用和使用哪个EditText。

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

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