gpt4 book ai didi

android - 无法解析方法 getApplication()

转载 作者:行者123 更新时间:2023-11-29 19:05:15 26 4
gpt4 key购买 nike

我在我的应用程序中创建了一个 Android 全局变量,当我尝试在我的 Activity 中使用 getApplication 访问它时,我收到错误:

Cannot resolve method getApplication()

我在扩展应用程序的类中的代码:

    package com.example.user.app;

import android.app.Application;


public class answer extends Application {

private String answer1;

public String getSomeVariable() {
return answer1;
}

public void setanswer1(String one) {
this.answer1 = one;
}
}

我在 Activity 中的代码:

       package com.example.user.pilz_app;

import android.content.Intent;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageButton;

public class QuestionOne extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_question_one);

ImageButton half = findViewById(R.id.half);
half.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(QuestionOne.this, QuestionTwo.class);
startActivity(intent);
((answer) this.getApplication()).setanswer1("half");
}

});

最佳答案

您正在使用匿名类引用作为this

   half.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(QuestionOne.this, QuestionTwo.class);
startActivity(intent);
((answer) this.getApplication()).setanswer1("half");
}

请参阅 this,此时指向 OnClickListener 引用而不是您的 Activity。因此,您可以做的是使用如下完全限定的引用。

QuestionOne.this.getApplication().setanswer1("half");

关于android - 无法解析方法 getApplication(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47510930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com