【问题标题】:this.packagename not working in Android Studio?this.packagename 在 Android Studio 中不起作用?
【发布时间】:2018-10-03 17:35:23
【问题描述】:

我想在 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())));
            }
        });

【问题讨论】:

    标签: java android-studio share rate package-name


    【解决方案1】:

    因为getPackageName()不是从View.OnClickListener创建的匿名类的方法,而是外部类的方法。

    在匿名类中,this 指的是匿名类。

    要显式引用外部类,需要写OuterClass.this.getPackageName(),其中OuterClass是外部类的实际名称。

    【讨论】:

    • 非常感谢
    猜你喜欢
    • 2018-06-18
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 2016-04-28
    • 2021-12-16
    • 2018-09-13
    • 2018-11-30
    相关资源
    最近更新 更多