Har*_*M V 424 android android-edittext
我正在学习如何创建UI元素.我创建了一些EditText输入字段.在单击按钮时,我想捕获输入到该输入字段的内容.
<EditText android:id="@+id/name" android:width="220px" />
Run Code Online (Sandbox Code Playgroud)
那是我的领域.我怎样才能获得内容?
svd*_*ree 664
通过使用getText():
Button mButton;
EditText mEdit;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mButton = (Button)findViewById(R.id.button);
mEdit = (EditText)findViewById(R.id.edittext);
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText", mEdit.getText().toString());
}
});
}
Run Code Online (Sandbox Code Playgroud)
小智 21
我猜你在调用"mEdit"EditText对象时必须使用这段代码:
myActivity.this.mEdit.getText().toString()
只需确保编译器知道EditText要调用和使用哪个.
Cha*_*mar 17
从EditTextandroid中的控件获取价值.EditText getText物业用来获得价值EditText:
EditText txtname = findViewById(R.id.name);
String name = txtname.getText().toString();
Run Code Online (Sandbox Code Playgroud)
小智 11
我希望这个应该有效:
Integer.valueOf(mEdit.getText().toString());
Run Code Online (Sandbox Code Playgroud)
我尝试了Integer.getInteger()方法而不是valueOf()- 它没有用.
小智 9
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());
}
});
}
Run Code Online (Sandbox Code Playgroud)
您可能还想看看Butter Knife.它旨在通过使用注释减少样板代码的数量.这是一个简单的例子:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
只需将以下依赖项添加到您的build.gradle:
compile 'com.jakewharton:butterknife:x.y.z'
Run Code Online (Sandbox Code Playgroud)
作为替代方案,还有AndroidAnnotations.
getText(editText);
getText(button);
getText(textView);
如果没有,只需在BaseActivity中创建方法/创建BaseActivity。
public class BaseActivity extends AppCompatActivity{
public String getText(TextView tv) {
return tv.getText().toString().trim();
}
}
Run Code Online (Sandbox Code Playgroud)
并通过此BaseActivity扩展您的所有活动。
public class YourActivity extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState){
getText(editText);
getText(button);
getText(textView);
}
}
Run Code Online (Sandbox Code Playgroud)
注意EditText,Buttonextends是扩展的TextView,所以我只创建了getText(TextView tv)。
| 归档时间: |
|
| 查看次数: |
676163 次 |
| 最近记录: |