java - 为什么 R 无法识别我的 "about"标签

标签 java android android-fragments android-fragmentactivity

我正在尝试使用本教程 http://javatechig.com/android/android-dialog-fragment-example 为我为自己的教育目的创建的应用程序实现一个对话框。 。

在我的 notepadlistactivity.java 中,我有以下部分,

 @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId())
        {
        case R.id.addNote:
            openNote(new Note(noteManager));
            break;

            case android.R.id.home:
            break;

            case android.R.id.about:
                FragmentManager fm = getFragmentManager();
                MyDialogFragment dialogFragment = new MyDialogFragment ();
                dialogFragment.show(fm, "Sample Fragment");
            default:
            return false;
        }
        return true;
    }

对于所有其他 R.id....,它识别点后面的单词,但对于 R.id.about,不识别 about。我已经检查了 R 文件并定义了 about,所以我无法理解出了什么问题。

供您引用,这是我的 MyDialogFragment.java,

package com.nicae.Notepad.note_list;

import android.app.DialogFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

import com.nicae.Notepad.R;

public class MyDialogFragment extends DialogFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_sample_dialog, container, false);
        getDialog().setTitle("Simple Dialog");
        return rootView;

        Button dismiss = (Button) rootView.findViewById(R.id.dismiss);
        dismiss.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                dismiss();
            }
        });

    }

这是我的fragment_sample_dialog.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:gravity="center"
    android:padding="10dp"
    android:orientation="vertical"
    android:id="@+id/about">

   <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Lorem ipsum dolor sit amet..."
        android:textSize="20dp" />

    <Button
        android:id="@+id/dismiss"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Dismiss" />
</LinearLayout>

根据以下评论进行编辑:

这是我的activity_notepad_list.xml,

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/addNote"
        android:title="@string/newNote"
        android:orderInCategory="1"
        app:showAsAction="always"
        android:icon="@drawable/content_new"/>
    <item
        android:id="@+id/about"
        android:title="About"
        app:showAsAction="ifRoom"
        android:icon="@drawable/ic_ab_other"
        android:orderInCategory="2"/>
</menu>

最佳答案

请注意,android.R.idR.id 不同,具体取决于当前类所在的当前包名称和/或导入 语句。 android.R.id 指的是 Android API 中的标准值。您可能想使用 R.id 来代替。

关于java - 为什么 R 无法识别我的 "about"标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35093077/

相关文章:

java - 放心 : verify creation of entity

android - 自定义 cordova 插件中的 package.json 无效

android - 如何在android中点击按钮打开键盘?

java - 从 DependencyDescriptor 访问 "containing class"

java - 在 Ubuntu 12.04 服务器和 Eclipse EE : servlet won't run a class file 上使用 Tomcat 7

android - YouTubePlayer 与 AppCompat v7 库

android - 显示 DialogFragments 会使 ICS 崩溃

android - TabLayout 中的 fragment 仅在用户滑动 Android 时加载

android - 如何使用 ViewPager 在开头启动任何 fragment

java - 以编程方式设置 textView 颜色