Я изучаю, как разрабатывать приложения для Android в java. Я сделал свой собственный ArrayAdapter
. В своем методе getView
я хочу изменить строку, используемую TextView
. Я хочу получить эту строку из SharedPreferences
.Android SharedPreferences getString - обязательная строка, найдена java.lang.String
Код находится в нижней части сообщения.
AndroidStudio говорит мне, что есть ошибка в этой строке:
String description = prefs.getString(title + "description", "missing description");
Incompatible types. Required: String, Found: java.lang.String
Насколько я знаю, эти вещи, одно и то же. Из-за этой ошибки я не могу запустить свою программу. Как я могу избавиться от него?
public class NiceAdapter<String> extends ArrayAdapter<String> {
private SharedPreferences prefs;
private final SharedPreferences.Editor editor;
private ArrayList<String> items;
public NiceAdapter(Context context, int resource, int textViewResourceId, ArrayList<String> passedItems) {
super(context, resource, textViewResourceId, passedItems);
items = passedItems;
prefs = context.getSharedPreferences("NiceListPrefs", ListActivity.MODE_PRIVATE);
editor = prefs.edit();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = super.getView(position,convertView,parent);
TextView titleView = (TextView)convertView.findViewById(R.id.title);
TextView descriptionView = (TextView)convertView.findViewById(R.id.description);
String title = items.get(position);
titleView.setText(title.toString());
String description = prefs.getString(title + "description", "missing description");
descriptionView.setText(description);
return convertView;
}
}
любой шанс вы определили класс с именем 'String'? – njzk2
как вы объявили свой класс? 'public class MyClass extends ArrayAdapter {'? –
Blackbelt
Как и где вы объявили SharedPreference? –