gpt4 book ai didi

java - 我应该为新对话框使用什么上下文?

转载 作者:行者123 更新时间:2023-12-02 00:51:04 25 4
gpt4 key购买 nike

我需要在按下按钮时显示一个自定义对话框。这是我的代码:

Button button3 = (Button) findViewById(R.id.Button03); 
button3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

final Dialog custdialog = new Dialog(this);


custdialog.setContentView(R.layout.custom_drink);

custdialog.setTitle("Custom Drink");

custdialog.setCancelable(false);

/etc.

但是,在这一行:final Dialog custdialog = new Dialog(this);

我收到一条错误消息“构造函数 Dialog(new View.OnClickListener(){}) 未定义”。

我尝试用其他内容替换“this”,但没有成功。奇怪的是,我在这一行收到错误,因为我的项目中的开关下方有完全相同的东西(除了不同的名称和内容)(如下所示:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings:

final Dialog settingsdialog = new Dialog(this);

settingsdialog.setContentView(R.layout.custom_dialog);

settingsdialog.setTitle("Settings");

settingsdialog.setCancelable(false);

而且那个工作得很好......嗯。

最佳答案

首先,对于您的实际问题,请使用 MyActivity.this 而不是 this,其中 MyActivity 的名称Activity 类。您试图从内部类中使用它,但您需要的实际对象是外部类。

此外,切勿将 getApplicationContext() 用于任何事情,尤其是与 UI 相关的任何事情。

关于java - 我应该为新对话框使用什么上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3073454/

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