GVKun编程网logo

Java-OnClickListener中的最终变量要求(java onclicklistener)

19

这篇文章主要围绕Java-OnClickListener中的最终变量要求和javaonclicklistener展开,旨在为您提供一份详细的参考资料。我们将全面介绍Java-OnClickListen

这篇文章主要围绕Java-OnClickListener中的最终变量要求java onclicklistener展开,旨在为您提供一份详细的参考资料。我们将全面介绍Java-OnClickListener中的最终变量要求的优缺点,解答java onclicklistener的相关问题,同时也会为您带来Android setOnItemClickListener vs setOnClickListener、android – clicklistener和longclicklistener在同一个按钮上?、android – onClickListener和onItemClickListener之间的区别、android – onClickListener在onLongClickListener之后触发的实用方法。

本文目录一览:

Java-OnClickListener中的最终变量要求(java onclicklistener)

Java-OnClickListener中的最终变量要求(java onclicklistener)

我有一个程序,其中有一个用户可以编辑的文本框。当用户按下按钮时,将创建一个对话框,显示用户的文本和确认“是/否”选项。

public void setIP(View v){    //get the text inside the editor    EditText et = (EditText) findViewById(R.id.editTextIP);    final String IP = et.getText().toString();    //create dialog     AlertDialog.Builder builder = new AlertDialog.Builder(this);    builder.setMessage("Set I.P. to : " + IP + " ?")           .setCancelable(false)           .setPositiveButton("Yes", new DialogInterface.OnClickListener() {               public void onClick(DialogInterface dialog, int id) {                    host = IP;               }           })           .setNegativeButton("No", new DialogInterface.OnClickListener() {               public void onClick(DialogInterface dialog, int id) {                    dialog.cancel();               }           });    AlertDialog alert = builder.create();    alert.show();}

这段代码可以正常工作,但是我的第一个版本无法编译。我的IDE抱怨我不应该创建字符串IP final,而应该这样做。

这让我开始思考。final在这种情况下会增加什么?例如,如果我选择保留对Dialog的引用,并通过另一种方法显示它,该怎么办?这意味着上面的方法将返回。那么变量如何IP持续存在呢?

final关键字是否只是确保该值不会在其他地方更改,是否允许onClickListener存储的值IP,而知道它仍然为真?范围IP增加了吗?

答案1

小编典典

final关键字是否只是确保该值不会在其他地方更改,是否允许onClickListener存储的值IP,而知道它仍然为真?范围IP增加了吗?

从某种意义上讲是可以的(尽管这实际上是“范围”而不是“作用域”:“作用域”仍然只是函数的声明IP}结束之间的程序文本)。

在实现方面,实质上发生的是,该对象new DialogInterface.OnClickListener() { ...}具有一个名为的隐式字段,该字段IP在对象构造期间会自动初始化。该final修改用于保护那里是一个单一的抽象IP变化,通过确保局部变量IP和隐场IP继续指向同一个String实例。

Android setOnItemClickListener vs setOnClickListener

Android setOnItemClickListener vs setOnClickListener

据我所知,有两种方法可以处理点击不同的列表项:

>使用setTag()为Adapter中的列表项设置类型,然后为列表设置setonItemClickListener(),并使用视图的getTag()来区分类型,如下所示:

listview.setonItemClickListener(new OnItemClcikListener(){});

>在适配器内部,getView()期间为每个项单独设置setonClickListener(),如下所示:

item.setonClickListener(new OnClickListener(){});

有什么区别,哪一个更受欢迎?

解决方法

与OnClickListener相比,OnItemClickListener非常易于管理.
如果您仍然想管理OnClickListener,我将告诉为什么OnItemClickListener比OnClickListener好得多.

一旦你开始滚动ListView项目将开始重用,你最终创建了很多OnClickListener.不要担心,这不是内存泄漏,因为GC将会出现并收集这些内容,但您也不应该感到安全,因为GC会暂停您的活动,即使它是相当大的秒数.

因此,除非您为单个列表项计划了不同的内容,否则我将使用OnItemClickListener.

如果您需要创建每个项目的特定部分是可点击的,或者希望为给定项目执行多个操作,那么最好将这些操作收集到一次创建的OnClickListener中,然后附加到每个getView()中的项目.您可以通过附加有关单击操作的元数据来区分单击的项目,也可以使用setTag()将位置列表到视图本身.

android – clicklistener和longclicklistener在同一个按钮上?

android – clicklistener和longclicklistener在同一个按钮上?

我正在创建一个呼叫/拨号按钮,当我点击该呼叫/拨号按钮时,将根据edittext中显示的输入进行呼叫.我设法做到了那一部分.你们可以告诉我,我是否可以长时间点击同一个电话/拨号按钮,以便吐司可以出来要求用户选择其他东西?

我对“setonLongClickListener”进行了一些研究,但我不确定我是否可以将它组合在同一个呼叫/拨号按钮中?我已经附加了我设法做的工作拨号功能,想知道“setonLongClickListener”是否可以在代码中组合在一起?

    private void dialANumber() {

    try {
        buttonCall = (ImageButton) findViewById(R.id.imageButton2);
        buttonCall.setonClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // Todo Auto-generated method stub

                if (display != null) {
                    Intent callNumber = new Intent();
                    callNumber
                            .setAction(android.content.Intent.ACTION_CALL);
                    callNumber.setData(Uri.parse("tel:" + display.getText()));
                    startActivity(callNumber);
                }
            }
        });

    } catch (ActivityNotFoundException anfe) {
        Log.e("DialANumber", "Dialing the number Failed", anfe);

    }

这段代码正在运行.我希望可以在同一个呼叫/拨号按钮上进行更长时间的点击,这样按钮就可以正常点击进行通话,而长按则可以弹出祝酒词.提前致谢.

解决方法:

请注意,在长按单击侦听器上返回“false”将使UI响应长按,也可以作为短按.如果你想杀死它,请返回“true”. “True”表示“是的,我使用过此事件”,“false”表示“无论我是否使用过,环境都可以自由回应”. (我知道这是因为我在我自己的应用程序中使用了AkashG的答案.)

android – onClickListener和onItemClickListener之间的区别

android – onClickListener和onItemClickListener之间的区别

Android ListViews中onClickListener和onItemClickListener有什么区别?
这些的不同实现有哪些?

解决方法

ListView对listview的每一行都有一个Item Click监听器,但onClickListener用于整个listview,无论你单击哪一行onClick和onItemClickListener都被调用,但每个方法附带的值都不同.

您可以使用OnItemClickListener,例如,当触摸特定行时,转到特定活动.

OnClickListener您可以检查列表视图是否已经收到用户的触摸,那么您要刷新列表吗?或更改滚动条的视图或使用列表视图作为整个单元执行某些操作.

android – onClickListener在onLongClickListener之后触发

android – onClickListener在onLongClickListener之后触发

我有一个View实现了onClickListener和onLongClickListener.当我长时间单击onClickListener触发器的视图时,我不需要在长按单击时执行它.有什么方法可以阻止它在长时间点击时被执行?

解决方法

返回true;从长按回调到表示您已经处理了该事件

今天的关于Java-OnClickListener中的最终变量要求java onclicklistener的分享已经结束,谢谢您的关注,如果想了解更多关于Android setOnItemClickListener vs setOnClickListener、android – clicklistener和longclicklistener在同一个按钮上?、android – onClickListener和onItemClickListener之间的区别、android – onClickListener在onLongClickListener之后触发的相关知识,请在本站进行查询。

本文标签: