【问题标题】:Illegal type 'void' in Android Java ClassAndroid Java 类中的非法类型“void”
【发布时间】:2017-06-05 21:11:11
【问题描述】:

我在 Android Java 应用程序中遇到错误Illegal type 'void'

private void createFolder()public void onRequestPermissionsResult 代码块出现错误。

我不知道是否缺少某些导入或 public class Berechtigungen extends 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();
    }
}
}

【问题讨论】:

  • 可能括号不匹配。什么是'; ' 在 GPS 方法的末尾?
  • 你有一个额外的支架。删除'};'
  • 格式化您的代码以突出显示大括号的问题,目前createFolderonRequestPermissionsResult 不在课程范围内。使用 IDE 会立即为您突出显示这些错误

标签: java android void


【解决方案1】:

是语法错误,应该是这样的:

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) {
            //

        } 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();
        }
    }
}

【讨论】:

  • 是的,在private void createFolder 之前有一个虚假的};,因此编译器假定第二个类声明private class/enum/interface
猜你喜欢
  • 2023-03-16
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 1970-01-01
  • 2012-12-28
相关资源
最近更新 更多