Add Preference
This commit is contained in:
1 parent
c1af94afa0
commit
aa61dada92
44 files changed
+1447
-77
No files matched your search
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Hippo Seven
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.hippo.scene.preference;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.hippo.ehviewer.R;
|
||||
|
||||
public class Preference extends PreferenceBase {
|
||||
|
||||
private String mKey;
|
||||
private String mTitle;
|
||||
private String mSummary;
|
||||
|
||||
private OnClickListener mOnClickListener;
|
||||
|
||||
public Preference(String key, String title, String summary) {
|
||||
mKey = key;
|
||||
mTitle = title;
|
||||
mSummary = summary;
|
||||
}
|
||||
|
||||
public String getKey() {
|
||||
return mKey;
|
||||
}
|
||||
|
||||
@Override
|
||||
int getItemViewType() {
|
||||
return PreferenceCenter.TYPE_PEFERENCE;
|
||||
}
|
||||
|
||||
public static RecyclerView.ViewHolder createViewHolder(Context content, ViewGroup parent) {
|
||||
return new PreferenceHolder(LayoutInflater.from(content).inflate(R.layout.preference, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
void bindViewHolde(Context context, RecyclerView.ViewHolder viewHolder) {
|
||||
PreferenceHolder pvh = (PreferenceHolder) viewHolder;
|
||||
pvh.title.setText(mTitle);
|
||||
pvh.summary.setText(mSummary);
|
||||
if (!stableWidgetFrame() || !pvh.hasSetWidgetFrame) {
|
||||
pvh.widgetFrame.removeAllViews();
|
||||
onBind(context, pvh.widgetFrame);
|
||||
pvh.hasSetWidgetFrame = true;
|
||||
}
|
||||
|
||||
onUpdateView(viewHolder);
|
||||
}
|
||||
|
||||
protected void onBind(Context context, FrameLayout widgetFrame) {
|
||||
}
|
||||
|
||||
protected void onUpdateView(RecyclerView.ViewHolder viewHolder) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onClick(RecyclerView.ViewHolder viewHolder, int x, int y) {
|
||||
return mOnClickListener != null && mOnClickListener.onClick();
|
||||
}
|
||||
|
||||
protected boolean stableWidgetFrame() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getSummary() {
|
||||
return mSummary;
|
||||
}
|
||||
|
||||
public void setSummary(String summary) {
|
||||
mSummary = summary;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return mTitle;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
mTitle = title;
|
||||
}
|
||||
|
||||
public void setOnClickListener(OnClickListener listener) {
|
||||
mOnClickListener = listener;
|
||||
}
|
||||
|
||||
public interface OnClickListener {
|
||||
boolean onClick();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user