1

我有一个包含 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>

任何知道为什么会发生这种情况的人都将不胜感激,因为我只是不明白。

4

0 回答 0