package com.moez.QKSMS.ui.view;
import android.content.Context;
import android.preference.Preference;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.moez.QKSMS.R;
/**
* Regular android preferences don't have basic functionality when you manually add them to views
* other than preferencegroups, this just cleans up some boilerplate code to set ours up
*/
public class QKPreference extends Preference {
private OnPreferenceClickListener mOnPreferenceClickListener;
public QKPreference(Context context, OnPreferenceClickListener onPreferenceClickListener, String key, int title, int summary) {
super(context);
mOnPreferenceClickListener = onPreferenceClickListener;
setKey(key);
setEnabled(true);
setLayoutResource(R.layout.list_item_preference);
if (title != 0) setTitle(title);
if (summary != 0) setSummary(summary);
}
public View getView() {
return getView(null, null);
}
@Override
public View getView(View convertView, ViewGroup parent) {
View view = super.getView(convertView, parent);
view.setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnPreferenceClickListener != null) {
mOnPreferenceClickListener.onPreferenceClick(QKPreference.this);
}
}
});
return view;
}
}