我正在学习如何创建UI元素。我已经创建了一些EditText输入字段。在单击按钮时,我想捕获输入字段中的内容。
<EditText android:id="@+id/name" android:width="220px" />
那是我的领域。如何获取内容?
我正在学习如何创建UI元素。我已经创建了一些EditText输入字段。在单击按钮时,我想捕获输入字段中的内容。
<EditText android:id="@+id/name" android:width="220px" />
那是我的领域。如何获取内容?
当前回答
最短和最简单
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电视)。
其他回答
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button rtn = (Button)findViewById(R.id.button);
EditText edit_text = (EditText)findViewById(R.id.edittext1);
rtn .setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText value=", edit_text.getText().toString());
}
});
}
我猜你在调用EditText对象“mEdit”时必须使用这段代码:
.toString myActivity.this.mEdit.getText () ()
只需确保编译器知道要调用和使用哪个EditText。
一种更高级的方法是使用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);
...
}
}
但是,当您感觉更舒服或开始处理大量数据时,这是一种替代方案。
你可能还想看看黄油刀。它旨在通过使用注释来减少样板代码的数量。这里有一个简单的例子:
public class ExampleActivity extends ActionBarActivity {
@InjectView(R.id.name)
EditText nameEditText;
@InjectView(R.id.email)
EditText emailEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
Butterknife.inject(this);
}
@OnClick(R.id.submit)
public void onSubmit() {
Editable name = nameEditText.getText();
Editable email = emailEditText.getText();
}
}
只需在build.gradle中添加以下依赖项:
compile 'com.jakewharton:butterknife:x.y.z'
作为替代,还有AndroidAnnotations。
字符串值= YourEditText.getText().toString;