我是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