问题标签 [android-context]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1138 浏览

java - 尝试显示 Toast 时出现上下文问题

我尝试在 AsyncTask 中显示 Toast。第一段代码放在我们可以调用的活动中MyActivity,并且工作正常:

然后我创建一个新实例MyObject并调用method(). 这段代码也放在MyActivity.

这是 的定义MyObject。ProgressDialog 工作正常,但没有显示吐司。

我相信在我的第一个示例和下面的示例中我正在做完全相同的事情,但显然我遗漏了一些东西。我也尝试过getApplicationContext()andcxt.getApplicationContext()而不是cxt,但结果相同。

0 投票
2 回答
6464 浏览

android - Android:如何在布局 xml 中为视图设置上下文?

我在 ActivityGroup 中使用 WebView,如果 WebView 显示 Dialog 并抱怨活动无效,它将引发异常。但是如果我将 WebView 的上下文设置为 TOP 活动就可以了。所以我想知道如何在布局 xml 中设置上下文?

0 投票
1 回答
2810 浏览

android - 在 Android API 级别 8 之前模仿 Context.getExternalFilesDir()?

Android API 级别 8 引入了该Context.getExternalFilesDir()方法,提供File对特定于您的应用的 SD 卡路径的对象引用。我想知道如何模仿低至 API 级别 5 的情况。

我看到有一种Context.getDir()方法,但我无法从阅读中看出这有什么不同。

0 投票
2 回答
10697 浏览

android - 扩展应用

我想在我的 Android 应用程序中扩展应用程序。我这样做是为了创建一个名为 MyApplication 的扩展应用程序对象并将其添加到清单中。

我现在想添加一些 getter 和 setter 来保存一些信息。看起来我需要将应用程序上下文传递给任何不包含上下文的类。

例如,假设我创建了一个名为 MyObject 的类(在它自己的 java 文件中):

如何从 doStuff() 访问 MyApplication?看起来我需要将应用程序上下文传递给 MyObject。这是典型的吗?有没有泄漏的可能?

另外,为了确保我清楚,MyApplication(和其中的变量)是否会在应用程序的整个生命周期中存在?无论哪种方式都很好。如果需要,我只是想确保我考虑到这一点。

最后,任何指向一些示例源的链接,以显示扩展应用程序有哪些不同的用途,我们将不胜感激。

0 投票
1 回答
776 浏览

java - 从异步线程访问 Android 活动堆栈?

StackOverflow 上有大量与活动堆栈相关的问题,但我并没有真正看到任何回答我的问题的问题。我正在开发一款(目前)有 3 种不同活动的在线游戏:

  1. 登录/注册
  2. 菜单(登录时看到,包括“新游戏”、“我的统计数据”和其他一些东西……我现在只是担心“新游戏”选项。)
  3. 游戏

套接字连接发生在登录/注册活动中,该活动创建了一个在后台运行的自定义服务。由于数据可以在任何时候到达,所以我使用的套接字类具有异步响应处理程序。这意味着每次收到消息时我都无法访问当前上下文。

我需要一种方法来确定收到各种消息类型时的当前上下文是什么,以便我可以相应地处理消息。例如,如果用户到达游戏屏幕(上面的#3)并收到一种消息,它应该简单地告诉游戏屏幕更新为新的游戏状态。但是,用户可能在同一个游戏屏幕上并收到不同类型的消息,上面写着“关闭屏幕 #3 和 #2 并注销用户,将他们返回到屏幕 #1”。

基本上,我试图找出获取当前活动/上下文的最佳方法,确定它是否是当前消息的正确上下文,以及如何处理它。

0 投票
1 回答
1515 浏览

android - 从线程完成方法中启动 Intent 时无法确定上下文

加载数据后,我正在尝试启动新意图。我正在使用一个处理程序,它在线程完成时调用一个方法,然后在这个方法中我试图启动一个新的 Intent,但我的应用程序每次都崩溃。我已将其范围缩小到 Intent 构造函数中的 Context 变量。这是我的代码:

0 投票
5 回答
28660 浏览

android - Runnable 中的上下文

我尝试播放 R.raw 的声音。在 Thread/Runnable 内部但我无法让它工作。

如何在 run 方法中获取真正的上下文?无论我尝试什么,它都是空的。还是有更好的方法来做到这一点?

0 投票
2 回答
32975 浏览

android - 在 View 上下文中获取 Activity 对象

这是这篇文章的后续:

子类 SurfaceView 中的 findViewById 抛出 RuntimeException

根据 Romain Guy 的反馈(我很快就会接受,因为它是一个解决方案),我想从 View 中获取调用 Activity,以便我可以使用它来获取所需的 TextView 资源。

我在 View 中没有看到任何返回 Activity 的方法。这样做的正确方法是什么?或者在另一个视图上下文中使用 TextViews 是否有更好的选择。

基本上,我在 onCreate() 中调用 setContentView(R.layout.xxx) (像往常一样),所以我真的没有办法传递对其他 TextViews 的引用,除非我在 setContentView 之后笨拙地检索视图然后拨打电话在上面。

0 投票
1 回答
274 浏览

android - HelloMapView 教程的问题

HelloMapView 教程中,地图似乎加载良好,我可以看到地图,还可以看到示例给出的墨西哥标记。

但是,当我单击墨西哥标记时,我的应用程序崩溃,并显示消息

Android 应用程序崩溃

我想我知道问题是什么,但我不知道如何解决它:

在第 7 步中,本教程是这样说的:

现在设置处理覆盖项目上的触摸事件的能力。首先,您将需要作为此类成员的应用程序上下文的引用。所以将 Context mContext 添加为类成员,然后使用新的类构造函数对其进行初始化:

好的,但是在主教程类中,当它声明这个类时,它没有给它上下文:

我试图这样做:new HelloItemizedOverlay(drawable, getApplicationContext());

但这不起作用,地图上没有墨西哥标记。

有谁知道我哪里出错了?

0 投票
27 回答
304575 浏览

android - 从 Activity 上下文之外调用 startActivity()

我已经ListView在我的 Android 应用程序中实现了一个。我ListView使用该类的自定义子类绑定到它ArrayAdapter。在被覆盖的ArrayAdapter.getView(...)方法中,我分配了一个OnClickListener. 在 的onClick方法中OnClickListener,我想发起一个新的活动。我得到了例外:

我怎样才能得到ContextListView当前Activity)正在工作的?