this.packagename 在 Android Studio 中不起作用?

我想在 Android 应用程序中添加给我们评分按钮。所以我添加了下面的代码。但是“getPackageName”用红色着色。我删除了“this”。然后就可以了。为什么会这样?它对我的代码有影响吗...?


 Button ratebutton = (Button) findViewById(R.id.ratebutton);

        ratebutton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse

                        ("http://play.google.com/store/apps/details?id=" + this.getPackageName())));

            }

        });


holdtom
浏览 143回答 1
1回答

九州编程

因为getPackageName()不是从创建的匿名类View.OnClickListener的方法,而是外部类的方法。在匿名类中,this指匿名类。要显式引用外部类,您需要编写OuterClass.this.getPackageName(),其中OuterClass是外部类的实际名称。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java