我有一个带有2个edittexts的活动。我根据打开活动的活动,使用意图或数据库中的字符串设置它们。因此,当我从我的数据库填充edittexts时,一切正常,它们都显示字符串中的文本,但是当我尝试从intent填充edittexts时,只有其中一个填充。
@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);
}
log语句显示具有正确文本的两个字符串,但它只填充哪个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>
任何知道为什么会发生这种情况的人都会非常感激,因为我只是不明白。