방금 만든 내 프로젝트의이 클래스 (DataProvider)가 .add 또는 .put을 허용하지 않는 경우이 오류가 발생했습니다. 하지만 내 MainActivity 클래스는 괜찮습니다. 이미 캐시를 무효화하고 다시 시작했습니다. 누군가가 왜 이런 일이 일어나고 있는지 그리고 내가 고칠 수있는 일을 설명 할 수 있습니까?android studio에서 특정 기호를 확인할 수 없습니다.
DataProvider를 :
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class DataProvider {
public static HashMap<String, List<String>> getInfo()
HashMap<String, List<String>> MoviesDetails = new HashMap<String, List<String>>();
List<String> Action_Movies = new ArrayList<String>();
//'.add' would be an error in red. Cannot resolve symbol 'add'.
Action_Movies.add("");
List<String> Romantic_Movies = new ArrayList<String>();
Romantic_Movies.add("");
List<String> Horror_Movies = new ArrayList<String>();
Horror_Movies.add("");
List<String> Comedy_Movies = new ArrayList<String>();
Comedy_Movies.add("");
}
MainActivity :
import android.app.Activity;
import android.os.Bundle;
import android.widget.ExpandableListView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class MainActivity extends Activity {
HashMap<String, List<String>> Movies_categories;
List<String> Movies_list;
ExpandableListView Exp_list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<String> Test = new ArrayList<String>();
Test.add("Test");
}
}
getInfo() 메소드에 중괄호가 없으므로 DataProvider 클래스가 컴파일되지 않습니다. 이 오류를 수정하고 다시 컴파일 해보십시오. – Egor
사이드 노트 : Java/Android 명명 규칙을 따르십시오. 변수/필드는 낙타로되어 있으며 항상 소문자로 시작합니다 (romanticMovies). –
부수적으로 대문자로 변수 이름을 시작하지 않는 것이 일반적입니다. 낙타 등 표기법 사용을 고려하십시오. 예 :'List actionMovies; ' –