我有一个包含 2 个编辑文本的活动。根据打开活动的活动,我使用来自意图或数据库的字符串来设置它们。因此,当我从数据库中填充编辑文本时,一切正常,它们都显示了字符串中的文本,但是当我尝试从意图填充编辑文本时,只有其中一个会填充。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
button = getIntent().getExtras().getInt("button");
noteId = getIntent().getExtras().getLong("noteId")
setContentView(R.layout.notebook);
title = (EditText) findViewById(r.id.etTitle);
body = (EditText) findViewById(r.id.etBody);
if (button == 1) {
name = getIntent().getExtras().getString("name");
notebody = getIntent().getExtras().getString("body");
Log.i(tag, "title = " + name + "\nbody = " + notebody);
body.setText(notebody);
title.setText(name);
} else if (button == 2) {
db.open();
cursor = db.lookup(noteId);
db.close();
name = cursor.getString(1);
notebody = cursor.getString(2);
title.setText(name);
body.setText(notebody);
}
日志语句用正确的文本显示两个字符串,但它只填充 setText 位于顶部的那个。所以如果我把标题放在正文上方,它会填充标题而不是正文。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/etTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:ems="10"
android:hint="Note Title" />
<EditText
android:id="@+id/etBody"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="10dp"
android:ems="10"
android:inputType="textMultiLine"
android:hint="Note Body"
android:gravity="top">
</EditText>
</LinearLayout>
任何知道为什么会发生这种情况的人都将不胜感激,因为我只是不明白。