java - 无法解析符号“列表”和 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 毫秒内失败
解决方案
检查xml是否误输入了android:id="@+id/list" 而不是android:id="@android:id/list"
推荐阅读
- c# - 端点路由.net core 3-多个区域
- ios - 如何围绕多个轴旋转 SCNNode?
- string - 当字符串存储在变量中时,为什么转义字符不起作用?
- c++ - 添加数组特定列的元素
- javascript - Firebase:如何在 React Native 中异步更新记录的值?
- mfc - 在 MFC 应用程序中 LoadLibrary() API 应该在哪里加载资源 DLL?
- angular - angular 6 ionic 让http请求在有限的数据中搜索id
- r - 当我使用不同的功能时,为什么会得到两个不同的输出?
- android - 尝试从统一中心安装统一编辑器
- mysql - 如何从当前日期比较 sql 数据库的日期和时间字段,其中日期和时间是 2019 年 6 月 6 日上午 11:19,MYSQL 中的这种格式