主要活动上的项目不会显示

时间:2017-04-12 13:27:50

标签: java android xml

我只是坚持这个问题,我尝试做的是主要活动首先检查不同活动的已保存偏好并返回继续setContentView()等等。

注册活动工作正常,但此活动想要返回主要活动。主要活动不会显示ListView,按钮等,只是操作栏可见。

我不确定问题出在哪里,有人可以帮我解决这个问题。

MainActivity.Java

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    /**
     * default values.
     */
    if (Settings.isRegistered(this)) {
        Intent i = new Intent(this, Register.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        this.startActivity(i);
        return;
    }

    setContentView(R.layout.Msg);

    messageList = (ListView) findViewById(R.id.message_list);
    .
    .
    .
}

Msg.xml

<?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/message_text"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_weight="0.7"
        android:hint="@string/message_edit_text"
        android:inputType="text"
        android:textAppearance="?android:attr/textAppearanceMedium"  />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/chatroom"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="0.7"
            android:hint="@string/chatroom_text"
            android:inputType="text"
            android:textAppearance="?android:attr/textAppearanceMedium"/>

        <Button
            android:id="@+id/send_button"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="0.3"
            android:text="@string/sendlabel"
            android:textAppearance="?android:attr/textAppearanceMedium"/>

    </LinearLayout>

    <ListView
        android:id="@+id/messagelist"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:stackFromBottom="true"
        android:transcriptMode="alwaysScroll" >
    </ListView>

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

onCreate()

的末尾设置代码的这一部分
    /**
     * default values.
     */
    if (Settings.isRegistered(this)) {
        Intent i = new Intent(this, Register.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        this.startActivity(i);
    }

当然没有return

答案 1 :(得分:0)

startActivity之后删除return语句。我建议将setContentView移至super.onCreate下方的行。