2017-10-11 62 views
0

我想在我的AndroidManifest.xml中声明我的活动。这是行不通的,因为它说com.vakantielanden.quizapp.QuizResultaatFrankrijk is not public试图在androidmanifest中声明类

当我试图让我的类公共它提供了以下错误:Class 'QuizResultaatFrankrijk' is public, should be declared in a file name 'QuizResultaatFrankrijk.java'

所以,我现在应该做些什么来解决这个问题。提前致谢!

这是我AndroidManifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.vakantielanden.quizapp"> 
<uses-permission android:name="android.permission.INTERNET" /> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/applogo" 
    android:label="VakantielandenQuiz" 
    android:roundIcon="@mipmap/applogo" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".HomeActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".KeuzeActivity"></activity> 
    <activity android:name=".QuizActivityFrankrijk"></activity> 
    <activity android:name=".QuizActivitySpanje"></activity> 
    <activity android:name=".QuizActivityItalie"></activity> 
    <activity android:name=".QuizActivityDuitsland"></activity> 
    <activity android:name=".QuizActivityNoorwegen"></activity> 
    <activity android:name=".QuizActivityZweden"></activity> 
    <activity android:name=".HighscoreActivity"></activity> 

    <meta-data android:name="com.google.android.gms.games.APP_ID" 
     android:value="@string/app_id" /> 
    <meta-data android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version"/> 

</application> 


</manifest> 

而且这是有问题的Java代码:

class QuizResultaatFrankrijk extends AppCompatActivity { 

TextView mFinalScoreFrankrijk; 
Button mHomeButtonFrankrijk; 

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

    mFinalScoreFrankrijk = (TextView)findViewById(R.id.scoreresultaat); 
    mHomeButtonFrankrijk = (Button)findViewById(R.id.homepageknop); 


    Bundle bundle = getIntent().getExtras(); 
    int score = bundle.getInt("finalScoreFrankrijk"); 

    mFinalScoreFrankrijk.setText(+ score + ""); 


    mHomeButtonFrankrijk.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      startActivity(new Intent(QuizResultaatFrankrijk.this, 
HomeActivity.class)); 
      QuizResultaatFrankrijk.this.finish(); 
     } 
    }); 

} 
} 
+0

发布您的清单和有问题的java文件。这听起来像是它的简单 –

+1

我知道它与你的问题和idk没有关系,你试图实现,但似乎你有每种语言的活动。也许你可以使用一个Activity来以不同的方式进行管理,并且用户选择语言(或者它会自动根据设备的语言)。在这最后一个场景中,您唯一要做的就是为每个支持的语言创建一个包含翻译的string.xml文件。 – Eselfar

回答

1

当你想一个Activity类,这个类应该是公开的也的名字该文件应该类似于Activity的名称。

所以,你可能已经改变了Activity的名字,但你并没有改变其该活动属于这样的例子文件:
如果活动是MainActivity那么文件名是MainActivity.java
如果活动名称是QuizResultaatFrankrijk 然后将文件名应为QuizResultaatFrankrijk.java
检查您的代码并解决它!

0

复制这部分代码:

TextView mFinalScoreFrankrijk; 
Button mHomeButtonFrankrijk; 

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

    mFinalScoreFrankrijk = (TextView)findViewById(R.id.scoreresultaat); 
    mHomeButtonFrankrijk = (Button)findViewById(R.id.homepageknop); 


    Bundle bundle = getIntent().getExtras(); 
    int score = bundle.getInt("finalScoreFrankrijk"); 

    mFinalScoreFrankrijk.setText(+ score + ""); 


    mHomeButtonFrankrijk.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      startActivity(new Intent(QuizResultaatFrankrijk.this, 
HomeActivity.class)); 
      QuizResultaatFrankrijk.this.finish(); 
     } 
    }); 

} 

删除文件,重新创建和重新粘贴代码。