活动不显示xml文件

时间:2014-05-20 15:17:14

标签: java android xml android-activity

以下是ss_birth.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">

<TextView
        android:id="@+id/SSB_Tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="25dp"
        android:layout_marginRight="25dp"
        android:layout_marginTop="130dp"
        android:text="@string/SSB_Tv"
        android:gravity="center_horizontal"
        android:textSize="25sp"/>

<Button
        android:id="@+id/SSB_Btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="25dp"
        android:layout_marginRight="25dp"
        android:layout_marginTop="35dp"
        android:text="@string/SSB_Btn"
        android:textSize="23sp"/>

</LinearLayout>

SSBirthActivity.java

package ru.abcdefg.abcd;

import android.app.Activity;
import android.os.Bundle;

public class SSBirthActivity extends Activity{

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ss_birth);
    }
}

这是一项活动。从中我想开始SSBirthActivity

public class MenuActivity extends Activity {

String TAG = "Days";

int firstTimeCheck = 0; // 0 = 1st time; 1 = not 1st time

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Log.w(TAG, "--- MenuActivity ---");

    Log.i(TAG, "Starting first time check");
    firstTimeCheck = 0; // TEST OPTION [Make first time]
    if (firstTimeCheck == 0) {
        Log.w(TAG, "First time. Starting SSBirthActivity");
        Intent intent = new Intent(this, SSBirthActivity.class);
        firstTimeCheck = 1;

        startActivity(intent);
    }
}
}

Android清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="ru.abcdefg.abcd"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="18"/>
    <application
            android:label="@string/app_name"
            android:icon="@drawable/ic_launcher"
            android:theme="@android:style/Theme.Holo.Light"
            android:debuggable="true">
        <activity android:name="MenuActivity"
                  android:label="@string/app_name"
                  android:launchMode="standard"
                  android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SSBirthActivity" android:label="Введите д/р"/>
    </application>
</manifest>

但是当这个活动开始时,只有一个白色的屏幕。

顺便说一下,当这个活动开始时,标题改变了。所以活动开始,但没有显示。有什么想法吗?

提前致谢, SergaRUS

3 个答案:

答案 0 :(得分:1)

AndroidManifest.xml MenuActivity MAIN LAUNCHERActivity SSBirthActivity。这被系统解释为应用程序的入口点。如果您希望<intent-filter>成为您的入口点,请更改<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ru.abcdefg.abcd" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="18"/> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:theme="@android:style/Theme.Holo.Light" android:debuggable="true"> <activity android:name="MenuActivity" android:label="@string/app_name" android:launchMode="standard" android:enabled="true"> </activity> <activity android:name=".SSBirthActivity" android:label="Введите д/р"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> ,如下所示:

MenuActivty

如果您仍希望Intent成为切入点,则可以从SSBirthActivityIntent intent = new Intent(this, SSBirthActivity.class); startActivity(intent); 发送{{1}}以启动它:

{{1}}

答案 1 :(得分:0)

我刚刚测试了你的布局。有用。我可能是格式化的错误。尝试自动格式化。你知道它是如何工作的吗?

您的LinearLayout有结束标记吗?

  

<TextView
    android:id="@+id/SSB_Tv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dp"
    android:layout_marginRight="25dp"
    android:layout_marginTop="130dp"
    android:gravity="center_horizontal"
    android:text="abc"
    android:textSize="25sp" />

<Button
    android:id="@+id/SSB_Btn"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dp"
    android:layout_marginRight="25dp"
    android:layout_marginTop="35dp"
    android:text="def"
    android:textSize="23sp" />
     

如果这没有帮助,请发布您的清单。

祝你好运 文斯

编辑:

尝试在清单中使用此功能。这将首先启动您的第二个活动。您的布局没有任何问题。你的问题属于另一个问题。

 <application
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light" >
        <activity
            android:name="MenuActivity"
            android:enabled="true"
            android:label="@string/app_name"
            android:launchMode="standard" >
        </activity>
        <activity
            android:name="ru.abcdefg.abcd.SSBirthActivity"
            android:label="Введите д/р" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

答案 2 :(得分:0)

您可以使用Intent从另一个内部启动Activity:

Intent intent = new Intent(this, SSBirthActivity.class);
startActivity(intent);

只需将此代码放入主活动中即可。 哦,我没有看到其他帖子,因为他在我创建我的时候被发布了。