2017-06-05 52 views
1

我有錯誤Android Java應用程序中的非法類型'void'Android中的非法類型'void'Java類

的錯誤出現在私人無效createFolder()公共無效onRequestPermissionsResult代碼塊。

我不知道是否缺少一些導入或者存在與公共類的錯誤Berechtigungen擴展了AppCompatActivity的代碼行。

如果有人知道這個答案,請寫下來,謝謝。

我的代碼:

package barsoftware.suedtirolpointer; 

import android.content.pm.PackageManager; 
import android.support.v4.app.ActivityCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.Manifest; 
import android.content.pm.PackageManager; 


public class Berechtigungen extends AppCompatActivity { 

    final int REQ_CODE_EXTERNAL_STORAGE_PERMISSION = 45; 

    public void GPS() { 
     if(ActivityCompat.checkSelfPermission(Berechtigungen.this, 
       Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED){ 
      // Anweisung 
     } else { 
      ActivityCompat.requestPermissions(Berechtigungen.this,new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQ_CODE_EXTERNAL_STORAGE_PERMISSION); 
     } 
    } 
}; 


private void createFolder(){ 
    File ordner = new File(Environment.getExternalStorageDirectory(), "TestOrdner"); 
    ordner.mkdirs(); 
    Toast.makeText(getApplicationContext(), "Ordner erstellt", Toast.LENGTH_SHORT).show(); 
} 

@Override 
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 

    if(requestCode == REQ_CODE_EXTERNAL_STORAGE_PERMISSION && grantResults.length >0 &&grantResults[0] == PackageManager.PERMISSION_GRANTED){ 
     createFolder(); 
    } 
} 
} 
+3

也許括號不匹配。什麼是'; '在GPS方法的結尾? – Ollaw

+1

你有一個額外的大括號。刪除'};' – Cheticamp

+1

格式化您的代碼以突出顯示您的花括號的問題,目前'createFolder'和'onRequestPermissionsResult'不在類中。使用IDE會立即突出顯示這些錯誤 –

回答

3

這是一個sintax錯誤,應該是這樣的:

package barsoftware.suedtirolpointer; 

import android.content.pm.PackageManager; 
import android.support.v4.app.ActivityCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.Manifest; 
import android.content.pm.PackageManager; 

public class Berechtigungen extends AppCompatActivity { 

    final int REQ_CODE_EXTERNAL_STORAGE_PERMISSION = 45; 

    public void GPS() { 
     if (ActivityCompat.checkSelfPermission(Berechtigungen.this, 
     Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { 
      // Anweisung 
     } else { 
      ActivityCompat.requestPermissions(Berechtigungen.this, 
      new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 
      REQ_CODE_EXTERNAL_STORAGE_PERMISSION); 
     } 
    } 

    private void createFolder() { 
     File ordner = new File(Environment.getExternalStorageDirectory(), "TestOrdner"); 
     ordner.mkdirs(); 
     Toast.makeText(getApplicationContext(), "Ordner erstellt", Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
     super.onRequestPermissionsResult(requestCode, permissions, grantResults); 

     if (requestCode == REQ_CODE_EXTERNAL_STORAGE_PERMISSION 
     && grantResults.length > 0 
     && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
      createFolder(); 
     } 
    } 
} 
+1

是的,在'private void createFolder'之前有一個虛假'};所以編譯器假定有第二個類聲明'私人類/枚舉/接口「。 –