gpt4 book ai didi

android - 如何使用 EditTextPreference 和 Togglebutton 创建一个首选项?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:36 25 4
gpt4 key购买 nike

我要实现的基本上是下图的精确复制品(我已经平方的偏好)。按首选项左侧的任何内容都会打开一个对话框。按下切换按钮将禁用/启用我在此首选项中设置的任何内容。

我已经尝试了几个小时,但还是空手而归。我如何在 PreferenceActivity 中实现它?

Preference

编辑:似乎人们误解了我的问题。弄清楚如何使用 PreferenceActivity 解决我的问题非常重要。不是 Activity 。我不关心我是否需要用 XML 或编程方式来做。请不要向我提供我无法在 a 或类似内容中使用的答案。

编辑 2:添加赏金 - 我真的需要一个答案

最佳答案

老兄,我喜欢你的想法:-)

这与@MH 的回答相同,但更简洁。

我用 ToggleButton 测试,而不是 Switch

package android.dumdum;

import android.content.Context;
import android.preference.Preference;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.ToggleButton;

public class TogglePreference extends Preference {

public TogglePreference(Context context) {
super(context);
}

public TogglePreference(Context context, AttributeSet attrs) {
super(context, attrs);
}

public TogglePreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

public View getView(View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = new LinearLayout(getContext());
((LinearLayout) convertView)
.setOrientation(LinearLayout.HORIZONTAL);

TextView txtInfo = new TextView(getContext());

txtInfo.setText("Test");
((LinearLayout) convertView).addView(txtInfo,
new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT, 1));

ToggleButton btn = new ToggleButton(getContext());
((LinearLayout) convertView).addView(btn);
}

return convertView;
}
}

preferences.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

<PreferenceCategory android:title="Test custom preferences" >
<android.dumdum.EncryptorEditTextPreference />
<android.dumdum.TogglePreference />
</PreferenceCategory>

</PreferenceScreen>

EncryptorEditTextPreference 与您的问题无关,但它使用相同的技术(扩展 EditTextPreference)。

关于android - 如何使用 EditTextPreference 和 Togglebutton 创建一个首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9738658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com