2015-09-22 27 views
-1

我正在學習如何在java中爲Android開發應用程序。我做了我自己的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; 
    } 
} 
+2

你定義的任何機會一類命名爲'String'? – njzk2

+0

你是如何申報你的課程的? 'public class MyClass extends ArrayAdapter {'? – Blackbelt

+1

您如何以及在哪裏聲明瞭SharedPreference? –

回答

2

變化

public class NiceAdapter<String> extends ArrayAdapter<String> { 

public class NiceAdapter extends ArrayAdapter<String> { 

隨着NiceAdapter<String>要定義泛型類型叫做字符串,這是不是有什麼SharedPreferences.getString預計

相關問題