Reputation: 33
I'm trying to declare my activity in my AndroidManifest.xml. It doesn't work because it says com.vakantielanden.quizapp.QuizResultaatFrankrijk is not public
When I try to make my class public it gives the following error: Class 'QuizResultaatFrankrijk' is public, should be declared in a file name 'QuizResultaatFrankrijk.java'
So what should I do now to fix this. Thanks in advance!
This is my 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>
And this is the java code in question:
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();
}
});
}
}
Upvotes: 0
Views: 619
Reputation: 819
Copy this part of the code:
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();
}
});
}
Delete the file, create it again and paste your code again.
Upvotes: 0
Reputation: 12717
When you want to make an Activity
class, that class should be public also the name of the file should resemble the Activity
name.
So you might have changed the Activity
name but you have not changed the file which that activity belongs So Examples:
If activity is MainActivity
then file name is MainActivity.java
If activity name is QuizResultaatFrankrijk
then the file name should be QuizResultaatFrankrijk.java
Check your code and solve it!
Upvotes: 1