Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android java-有人能告诉我应该读什么来理解这段代码吗?_Java_Android - Fatal编程技术网

Android java-有人能告诉我应该读什么来理解这段代码吗?

Android java-有人能告诉我应该读什么来理解这段代码吗?,java,android,Java,Android,我是ANDROID开发新手。在开始使用Android之前,我学习了java。我在一本书中看到了这个代码,我被难住了。 这到底是怎么回事 我得到progressDialog类的setbutton方法接收参数的部分 但是第三个参数是类?我认为new关键字用于创建新类型(类)。创建类时如何引用方法(.OnClickListener) 最重要的是,还有另一个方法(onClick)正在其内部创建。显然,java中有一些我不知道的东西。有人能告诉我java中是否有关于这个概念的教程吗? 我不担心按钮被创建和

我是ANDROID开发新手。在开始使用Android之前,我学习了java。我在一本书中看到了这个代码,我被难住了。 这到底是怎么回事

我得到progressDialog类的setbutton方法接收参数的部分

但是第三个参数是类?我认为new关键字用于创建新类型(类)。创建类时如何引用方法(.OnClickListener) 最重要的是,还有另一个方法(onClick)正在其内部创建。显然,java中有一些我不知道的东西。有人能告诉我java中是否有关于这个概念的教程吗? 我不担心按钮被创建和点击。我说的是在这里使用的这个编程的概念

非常感谢你

progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, “OK”,
    new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,int whichButton)
        {
            Toast.makeText(getBaseContext(),“OK clicked!”, 
                Toast.LENGTH_SHORT).show();
        }
});

这与android没有太大关系,因为它与JAVA有太多关系。它被称为

匿名内部类,在创建对象实例时非常有用,该对象具有某些“额外功能”,例如重载方法,而不必实际对类进行子类化

progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, “OK”,
new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog,int whichButton)
    {
        Toast.makeText(getBaseContext(),“OK clicked!”, 
            Toast.LENGTH_SHORT).show();
    }
});
代替上面的代码,u也可以声明如下,但它的代码有点长

progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "ok", new DialogDemo());
通过编写如下所示的内部类

private class DialogDemo implements DialogInterface.OnClickListener{

    @Override
    public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(getBaseContext(),“OK clicked!”, 
                Toast.LENGTH_SHORT).show();
}
}

这称为。
OnClickListener
不是一个方法!是的,我知道。这就是为什么我提到我在Android中找到了代码,我需要一些指导来学习这个概念。谢谢所有的课程。我意识到这种情况类似于javascript将函数作为参数传递给另一个函数。