2017-04-12 56 views
0

我只是坚持这个问题,我想要做的是主要活动首先检查保存在不同的活动上的偏好,然后继续setContentView()等。主要活动项目不会显示

注册活动正常,但是当这个活动想要回到主要活动。主Activity不会显示ListView,Buttons等,只是操作栏是可见的。

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

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> 

回答

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

+0

谢谢!......................... –

0

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

+0

谢谢!/////////////// //////////////// –