Theme.Dialog没有展示我想要的东西

时间:2013-01-14 18:44:47

标签: android android-intent android-manifest

我只是想写一个MenuInflate。当用户点击AboutUs按钮时,会出现一个小对话框并写下我想要的内容。但不知何故,它写了MainActivity而不是“关于我们关于我们”

public boolean onOptionsItemSelected(MenuItem item) {

            switch (item.getItemId()) {
            case R.id.aboutUs:
                Intent i = new Intent("com.android.ABOUT");
                finish();
                startActivity(i);
                break;
            case R.id.preferences:
                break;
            }

            return false;
        }

这是我的about.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" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="About me About Me" >
        </TextView>
    >

    </LinearLayout>

以及AndroidManifest.xml的相关部分

 <activity
            android:name=".AboutUs"
            android:exported="false"
            android:label="@string/title_activity_main"
            android:theme="@android:style/Theme.Dialog" >
            <intent-filter>
                <action android:name="com.android.ABOUT" />

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

and screenshot

1 个答案:

答案 0 :(得分:1)

如果setContentView(R.layout.my_layout_file)方法中未包含onCreate(),则Android无法知道要显示的View,导致Activity无法显示任何内容。这也会使Activity无法实例化任何Views,例如TextViewsEditTextButtons等。

http://developer.android.com/reference/android/app/Activity.html#setContentView(android.view.View