gpt4 book ai didi

android - android :text of EditText while the android:text is left undefined?的默认值是多少

转载 作者:行者123 更新时间:2023-11-29 14:28:29 25 4
gpt4 key购买 nike

我是 Android 开发的初学者。在我的项目中,我创建了一个 TableLayout ——我认为 GridLayout 可以提供更多帮助,但由于我不熟悉 GridLayout TableLayout 被采用 —— 使用一些 EditTexts 从用户那里获取值。该 Activity 实际上是一个可提交的表单。在每个 EditText 的左侧,有一个 TextView 定义相应 EditText 的预期内容,因此我不必也没有为 EditText 设置默认文本(通常用作提示)。此 Activity 中还有一个用于提交此表单的按钮。我选择了一些 EditText 作为 MUST_FILLED,所以在按钮的自定义监听器类中,我必须检查这些 MUST_FILLED 是否已被填充。按照我的直觉编码如下:

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 是 EditText 的 android:id。此代码最终没有显示 toast。所以我认为 EditText 有一个默认的文本值,即使 android:text 不是手动定义的。然后我写了一个简单的项目来证实我的想法。这是 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(); 确实显示了 toast 。但是,它显示了一些看起来像空白但实际上并非如此的东西。

最后,我想知道 EditText 中 android:text 的默认值是多少。

提前致谢。

最佳答案

我相信默认值是一个空字符串。它永远不会为 null,因为如果是这种情况,您应该已经在这一行遇到了 NullPointerException:

String s4 = machine_id.getText().toString().trim();

查看您的代码,toast 没有出现的原因是因为您使用 (s4 == null || s4 == "") 作为您的 if 条件。 == 运算符不同于 .equals()。尝试将条件更改为 "".equals(s4)

关于android - android :text of EditText while the android:text is left undefined?的默认值是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10900215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com