0

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

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>

和截图

4

1 回答 1

1

如果setContentView(R.layout.my_layout_file)未包含在onCreate()方法中,则 Android 不知道View要显示什么,导致Activity. 这也将阻止Activity能够实例化任何Views诸如TextViewsEditTexts 、Buttons等。

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

于 2013-01-14T19:05:24.077 回答