所以我在RecyclerView
内有一个曲目列表。关于在RecyclerView
中显示曲目,一切正常。但是我正在努力根据他选择的用户偏好过滤public class TrackAdapter extends RecyclerView.Adapter<TrackAdapter.ViewHolder> {
private LayoutInflater layoutInflater;
List<Track> tracks;
private Context context;
private String length;
private ClickListener clickListener;
public TrackAdapter(Context context, List<Track> tracks){
this.context=context;
this.tracks=tracks;
layoutInflater=layoutInflater.from(context);
public void setlength (String level) {
this.length = length ;
}}
。
每个轨道都具有短,长或中等属性。我想让用户能够选择偏好,如果他想要显示所有时段或特定时段。
我现在的问题是过滤结果。
<ListPreference android:title="@string/level"
android:defaultValue="@string/length_default"
android:entries="@array/length_enteries"
android:entryValues="@array/length_entery_values"
android:key="@string/length_key"
/>
和xml中的首选项:
public void setlevel(){
SharedPreferences sharedPreferences= PreferenceManager.getDefaultSharedPreferences(this);
level=sharedPreferences.getString(getString(R.string.length_key),getString(R.string.length_default));
trackAdapter.setLevel(level);}
主要活动中的: 我得到所选长度过滤器的值如下:
JSON.parse(items[item].Specifications)