2016-07-15 3 views
0

MyActivityを編集しようとすると、MainActivity.javaが開きます。読み取り専用のフラグを変更しようとすると、このエラーメッセージがエラー:(21,8)エラー:クラスMyActivityがpublicです - MyActivityを編集できません

Failed to change read-only flag for /root/AndroidStudioProjects/MyApplication3/app/src/main/java/xyz/adamstephenson/android/myapplication/MainActivity.java

を示し、私はボタンがAndroid上で押されたときに情報を出力するパブリッククラスを作成しようとしている

エラーは次のとおりです。

Error:(21, 8) error: class MyActivity is public, should be declared in a file named MyActivity.java

package xyz.adamstephenson.android.myapplication; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.content.Intent; 

import static 
xyz.adamstephenson.android.myapplication.R.layout.activity_main; 


public class MyActivity extends Activity { 
    protected void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     setContentView(activity_main); 

     final Button button = (Button) findViewById(R.id.button); 
     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Log.d("button", "This is my message"); 
      } 
     }); 
    } 
} 
+0

ファイルの名前は何ですか?メッセージはクリアです。このクラスをMyActivity.javaファイルの名前で保存します。現在MainActivity.javaにあるようですが、公開されています。 –

+0

あなたはそのコードに 'public class MainActivity extends ...'を持っていません –

+0

ファイル名はMainActivity.JavaでMainActivityを内部にしています。 [リンク](http://prntscr.com/btfj4w) –

答えて

1

あなたclass file nameは、クラスファイル内のクラス名と同じでない場合、このエラーが発生します。ドライブに

あなたはそれが: class A1 is public, should be declared in a file named A1.java

どのようにこれまであなたが行う場合は、上記の

A.java 
and code it as 
class A1{} 

を、以下のようなものは、任意の例外をスローしますが、これではないでしょう例外をスローするクラス

A.java 
but write it as 
public class A1{} 

を作りますクラスはパッケージ外からアクセスできません。

関連する問題