簡體   English   中英

Android SharedPreferences getString-必需的String,找到了java.lang.String

[英]Android SharedPreferences getString - Required String , Found java.lang.String

我正在學習如何使用Java開發適用於Android的應用程序。 我已經制作了自己的ArrayAdapter 我想在其getView方法中更改TextView所使用的字符串。 我想從SharedPreferences獲取此字符串。

代碼在帖子的底部。

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;
    }
}

更改

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

public class NiceAdapter extends ArrayAdapter<String> {

使用NiceAdapter<String>您可以定義一個稱為String的通用類型,這不是SharedPreferences.getString期望的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM