我是Android开发的初学者。在我的项目中,我创建了一个TableLayout - 我认为GridLayout可以做更多的帮助,但由于我不熟悉GridLayout,因此使用了TableLayout - 使用一些EditTexts从用户获取值。该活动实际上是一种可提交的表单。在每个EditText的左边,有一个TextView定义了相应的EditText的期望值,所以我不必为EditText(通常用作提示)设置默认文本。此活动中还有一个用于提交此表单的按钮。我选择了一些EditTexts作为MUST_FILLED,所以在按钮的自定义侦听器类中,我必须检查这些MUST_FILLED是否已被填充。跟着我编写如下直觉:这里当android:text未定义时,android:textTextText的默认值是什么?
String s4 = machine_id.getText().toString().trim();
if(s4 == null || s4 == ""){
Toast.makeText(v.getContext(),
"Please Input the machine ID", Toast.LENGTH_SHORT).show();
}
machine_id是android:id
为一个EditText。此代码结束时不显示烤面包。所以我认为即使没有手动定义android:text
,EditText也有默认的文本值。然后我写了一个简单的项目来确认我的想法。这里是MainActivity.java
public class EditText_testActivity extends Activity implements View.OnClickListener{
/** Called when the activity is first created. */
private String text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText et = (EditText)findViewById(R.id.et01);
text = et.getText().toString();
Button btn = (Button)findViewById(R.id.btn01);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(text != null)
Toast.makeText(v.getContext(), text, Toast.LENGTH_SHORT).show();
else
Toast.makeText(v.getContext(), "null", Toast.LENGTH_SHORT).show();
}
}
而且main.xml中:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/et01" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn01"
android:text="TouchMe"/>
</LinearLayout>
它证明的EditText有一个默认的文本值,因为Toast.makeText(v.getContext(), text, Toast.LENGTH_SHORT).show();
确实显示敬酒。但是,它显示的东西看起来像一个空白区域,但不完全是。
最后,我想知道在EditText中android:text的默认值是多少。
在此先感谢。
得到启发。谢谢。 – user1437534
非常欢迎 – vida