问题描述
我添加了一个自定义的preference到我的项目(低于code)。我将它添加到我的preferences XML使用自定义widgetLayout:
< w.PlusOne preference
机器人:标题=率应用
机器人:关键=自定义
机器人:widgetLayout =@布局/ plusone_ preF/>
preference布局的xml:
< XML版本=1.0编码=UTF-8&GT?;
< com.google.android.gms.plus.PlusOneButton
的xmlns:机器人=http://schemas.android.com/apk/res/android
的xmlns:加=http://schemas.android.com/apk/lib/com.google.android.gms.plus
机器人:ID =@ + ID / plus_one_button
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_gravity =center_vertical
机器人:可聚焦=假
加:大小=标准/>
我看到在布局的布局和按钮正常工作。唯一的问题是,preference无法点击。喜欢它的背后隐藏着什么东西。
在如何使点击任何想法?
如果我想补充一个普通preference(无小部件的布局),它工作正常。
感谢。
公共类PlusOne preference扩展preference {
私人PlusClient mPlusClient = NULL;
公共PlusOne preference(上下文的背景下){
超(上下文);
}
公共PlusOne preference(上下文的背景下,ATTRS的AttributeSet){
超(背景下,ATTRS);
}
公共PlusOne preference(上下文的背景下,ATTRS的AttributeSet,诠释defStyle){
超(背景下,ATTRS,defStyle);
}
公共无效setPlusClient(PlusClient plusClient){
mPlusClient = plusClient;
}
@覆盖
保护无效onBindView(查看视图){
super.onBindView(视图);
// mPlusOneButton =
PlusOneButton plusOneButton =(PlusOneButton)view.findViewById(R.id.plus_one_button);
plusOneButton.initialize(mPlusClient,SettingsActivity.URL,SettingsActivity.PLUS_ONE_REQUEST_ code);
}
}
在布局/ plusone_ pref.xml集机器人:可调焦=假为您的按钮
I added a custom preference to my project (code below). I added it to my preferences xml with a custom widgetLayout:
<w.PlusOnePreference
android:title="Rate App"
android:key="custom"
android:widgetLayout="@layout/plusone_pref"/>
Preference layout xml:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.gms.plus.PlusOneButton
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"
android:id="@+id/plus_one_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:focusable="false"
plus:size="standard" />
I see the layout and the button in the layout works fine. The only problem is that the preference isn't clickable. Like it's hidden behind something.
Any ideas on how to make it clickable?
If I add a regular Preference (without a widget layout) it works fine.
Thanks.
public class PlusOnePreference extends Preference {
private PlusClient mPlusClient = null;
public PlusOnePreference(Context context) {
super(context);
}
public PlusOnePreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public PlusOnePreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void setPlusClient(PlusClient plusClient) {
mPlusClient = plusClient;
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
//mPlusOneButton =
PlusOneButton plusOneButton = (PlusOneButton)view.findViewById(R.id.plus_one_button);
plusOneButton.initialize(mPlusClient, SettingsActivity.URL, SettingsActivity.PLUS_ONE_REQUEST_CODE);
}
}
in layout/plusone_pref.xml set android:focusable="false" for your Button
这篇关于自preference无法点击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!