android – 如何将GestureDetector附加到ListPreference?

android – 如何将GestureDetector附加到ListPreference?,第1张

概述将 GestureDetector附加到 ListPreference的挑战是双重的: >获取仅在preferences.xml中定义的ListPreference句柄(即未在Java代码中实例化). > ListPreference既不是View子类也不是Activity子类. 是否有可能将GestureDetector附加到ListPreference? 如果是这样,怎么会这样呢?我会在哪里编 将 GestureDetector附加到 ListPreference的挑战是双重的:

>获取仅在preferences.xml中定义的ListPreference句柄(即未在Java代码中实例化).
> ListPreference既不是VIEw子类也不是Activity子类.

是否有可能将GestureDetector附加到ListPreference?

如果是这样,怎么会这样呢?我会在哪里编写代码来实例化GestureDetector并实现监听器?

解决方法 除非我没有正确地理解问题,否则答案可能比你想象的要简单. ListPreferece的源代码教导它只是一个AlertDialog的包装器,它在ListVIEw中显示它的各种选项.现在,AlertDialog实际上允许您获取它包装的ListVIEw的句柄,这可能就是您所需要的.

在其中一条评论中,您表示,在此阶段,您感兴趣的只是检测列表中任何项目的长按.因此,我只需使用OnItemLongClickListener,而不是通过附加GestureDetector来回答这个问题.

public class ListPreferenceActivity extends PreferenceActivity implements OnPreferenceClickListener {    private ListPreference mListPreference;    @OverrIDe protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        addPreferencesFromresource(R.xml.List_prefs);        mListPreference = (ListPreference) findPreference("pref_List");        mListPreference.setonPreferenceClickListener(this);    }    @OverrIDe    public boolean onPreferenceClick(Preference preference) {        AlertDialog dialog = (AlertDialog) mListPreference.getDialog();        dialog.getListVIEw().setonItemLongClickListener(new AdapterVIEw.OnItemLongClickListener() {            @OverrIDe public boolean onItemLongClick(AdapterVIEw<?> parent,VIEw v,int position,long ID) {                Toast.makeText(getApplicationContext(),"Long click on index " + position + ": "                         + parent.getItemAtposition(position).toString(),Toast.LENGTH_SHORT).show();                return false;            }        });        return false;    }}

结果(在长按显示中吐司):

通过对ListVIEw的引用,您还可以附加一个OntouchListener,GestureDetector等.由您决定从这里开始.

总结

以上是内存溢出为你收集整理的android – 如何将GestureDetector附加到ListPreference?全部内容,希望文章能够帮你解决android – 如何将GestureDetector附加到ListPreference?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1135727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存