繁体   English   中英

Eclipse Android应用程序“ PlaceholderFragment无法解析为类型”错误

[英]Eclipse Android Application “PlaceholderFragment cannot be resolved to a type” Error

在经过数小时的R.java消失后,再加上其他数十个随机问题,我终于找到了两个(相关的)错误-但我无法修复它们。 我已经查询了很多次,但是在本网站或其他任何网站上都没有关于此问题的其他帖子。 这是我的MainActivity.java:

package com.yahoo.jedibradftw.audiobooksync;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    switch (item.getItemId()) {
        case R.id.action_search:
        // search
        return true;
    case R.id.action_settings:
        // settings
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }

/**
 * A placeholder fragment containing a simple view.
 */
public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container,
                false);
        return rootView;
    }
}

}}

错误如下:

PlaceholderFragment无法解析为一种类型。 第21行:

.add(R.id.container, new PlaceholderFragment()).commit();

本地类PlaceholderFragment的非法修饰符; 仅允许摘要或最终摘要。 第52行:

public static class PlaceholderFragment extends Fragment {

我已经多次尝试Project-> Clean and Project-> Build All,甚至重新启动了Eclipse客户端,但是问题仍然存在。 我以前从未遇到过这个问题(在旧的测试应用程序中或在此应用程序中),即使编码没有不同。 如果您需要更多我的代码,请询问,然后将其粘贴。类似地,如果您需要解释给定代码的一部分(由于注释不足),请询问,我将尝试向您解释。 我怀疑我能否解释大部分内容-毕竟我仍在学习语言。

事后看来,“占位符”的使用表明我输入了自己的名字-但这在我一直遵循的指南中从未得到解释。 如果我尝试对其进行更多自定义,则它可能最终会比以前更残破。 如果问题确实如此简单,我希望有人可以指导我完成我应该采取的步骤!

您的代码中放错了}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
    case R.id.action_search:
    // search
    return true;
case R.id.action_settings:
    // settings
    return true;
default:
    return super.onOptionsItemSelected(item);
}

改成

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
    case R.id.action_search:
    // search
    return true;
case R.id.action_settings:
    // settings
    return true;
default:
    return super.onOptionsItemSelected(item);
}
} // missing

并在代码末尾删除多余的}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM