无法从按钮动作侦听器启动活动?

发布于 2024-12-11 17:56:21 字数 488 浏览 0 评论 0原文

我尝试启动一个 Activity,但它给了我错误消息:The method startActivity(Intent) is undefined for the type new View.onClickListener(){}

这是我使用 startActivity 的代码。

        place.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // TODO If placeButton was clicked:
            Intent placepin = new Intent("my.locations.oskar.mendel.PLACEPINACTIVITY");
            startActivity(placepin);
        }
    });

I tried to start an activity but it gives me the error message: The method startActivity(Intent) is undefined for the type new View.onClickListener(){}

Here is the code i used the startActivity in.

        place.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // TODO If placeButton was clicked:
            Intent placepin = new Intent("my.locations.oskar.mendel.PLACEPINACTIVITY");
            startActivity(placepin);
        }
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

神魇的王 2024-12-18 17:56:21

OnClickListener 是 Activity 类中的一个对象。在 onClick 代码块中,Activity 的继承方法对 OnClickListener 对象不可见,因此您需要相应地调整范围。你可能想要这样的东西:

        place.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // TODO If placeButton was clicked:
            Intent placepin = new Intent("my.locations.oskar.mendel.PLACEPINACTIVITY");
            ActivityClassName.this.startActivity(placepin);
        }

The OnClickListener is an object within your Activity class. Within the onClick codeblock, the Activity's inherited methods are not going to be visible to the OnClickListener object, hence you will need to adjust the scope accordingly. You likely want something like this:

        place.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // TODO If placeButton was clicked:
            Intent placepin = new Intent("my.locations.oskar.mendel.PLACEPINACTIVITY");
            ActivityClassName.this.startActivity(placepin);
        }
苏璃陌 2024-12-18 17:56:21

我解决这个问题的方法是使用布尔值。

boolean start = false;

.
.
.
buttonListener{
   ....
   start = true;
   ...
   displayFriend(start);
}

public void displayFriend(boolean start){
  Intent intent = new Intent(this, xxActivity.class);
  startActvity(intent);
}

希望这对你有帮助。

My method into solving this problem is use boolean value.

boolean start = false;

.
.
.
buttonListener{
   ....
   start = true;
   ...
   displayFriend(start);
}

public void displayFriend(boolean start){
  Intent intent = new Intent(this, xxActivity.class);
  startActvity(intent);
}

hopefully that helps you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文