首页 > 解决方案 > 无法解析符号“列表”和 android studio 中的许多其他关键字

问题描述

我对 android studio 很陌生,这是我的第一天 :),这是我的 main.java

package com.example.myapplication1;

import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.karumi.dexter.Dexter;
import com.karumi.dexter.PermissionToken;
import com.karumi.dexter.listener.PermissionDeniedResponse;
import com.karumi.dexter.listener.PermissionGrantedResponse;
import com.karumi.dexter.listener.PermissionRequest;
import com.karumi.dexter.listener.single.PermissionListener;

import java.util.ArrayList;

import javax.swing.text.html.ListView;

public class MainActivity extends AppCompatActivity {
    ListView listView;
    String[] items;

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

        listView = findViewById(R.id.listViewSong);

        runtimePermission();


    }

    public void runtimePermission()
    {
        Dexter.withContext(this).withPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                .withListener(new PermissionListener() {
                    @Override
                    public void onPermissionGranted(PermissionGrantedResponse permissionGrantedResponse) {
                        displaySongs();
                    }

                    @Override
                    public void onPermissionDenied(PermissionDeniedResponse permissionDeniedResponse) {

                    }

                    @Override
                    public void onPermissionRationaleShouldBeShown(PermissionRequest permissionRequest, PermissionToken permissionToken) {
                        permissionToken.continuePermissionRequest();
                    }
                }).check();
    }
    public ArrayList<File> findSong (File file)
    {
        ArrayList<File> arrayList = new ArrayList<>();

        File[] files = file.listFiles();

        for(File singleFile: files)
        {
            if(singleFile.isDirectory() && !singleFile.isHidden())
            {
                arrayList.addAll((findSong(singleFile)));
            }
            else
            {
                if(singlefile.getName().endswith(".mp3") || singlefile.getName().endswith(".wav"))
                {
                    arrayList.add(singleFile);
                }
            }
        }
        return arrayList;
    }

    void displaySongs()
    {
        final ArrayList<File> mySongs = findSong(Environment.getExternalStorageDirectory());

        items = new String[mySongs.size()];
        for(int i=0;i<mySongs.size();i++)
        {
            items[i] = mySongs.get(i).getName().toString.replace(target:'.mp3', replacement:"").replace(target:'.wav', replacement:"");

        }
        ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(contex:this, android.R.layout.simple_list_item_1, items);
        listView.setAdapter((myAdapter));
    }
}

我收到无法解析符号“列表”、列表视图、环境等错误。我能做什么,我认为这与java安装或依赖关系有关。当我运行我得到的代码时,Gradle 构建在 1 秒 157 毫秒内失败

标签: javaandroidandroid-studio

解决方案


检查xml是否误输入了android:id="@+id/list" 而不是android:id="@android:id/list"


推荐阅读