首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误:找不到符号:方法startActivity

错误:找不到符号:方法startActivity
EN

Stack Overflow用户
提问于 2012-04-11 11:59:41
回答 3查看 12.6K关注 0票数 1

我正在开发一个应用程序,以便通过以下代码连接到Google Navigator。

代码语言:javascript
运行
复制
import android.app.Activity; 
import android.content.Context;
import android.content.Intent;
import android.net.Uri;

public static void Call_GoogleMapsNavigation(int longitud,int latitud)
{
Intent i = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("google.navigation:q=" +latitud+ ","+longitud+"")); 
Context.startActivity(i); 
}

..。但我得到以下错误:

返回错误:

代码语言:javascript
运行
复制
GWDCPSET_GlobalProcedures_MobileDevice.java:1223: cannot find symbol
symbol : method startActivity(android.content.Intent)
location: class antay.cfsatv30.wdgen.GWDCPSET_GlobalProcedures_MobileDevice
startActivity(i); 
^

我找不到解决这个问题的办法。

非常感谢,

EN

Stack Overflow用户

发布于 2016-06-14 21:03:54

为了进一步解释上面的答案。它的意思是你不能/不应该静态地调用startActivity(intent).

代码语言:javascript
运行
复制
Context.startActivity(intent); //wrong notice capital 'C'

您需要一个上下文实例。

因此,最简单的做法就是向静态方法添加一个参数:(注意,在Java语言中,方法名的约定是小写的'c‘)

代码语言:javascript
运行
复制
public static void call_GoogleMapsNavigation(final Context context, int longitud,int latitud) { 

        ...
        context.startActivity(i); //right
}

例如,在您的活动或应用程序中包含上下文实例引用的任何组件中,您可以按如下方式调用您的方法

为了简单起见,我假设你从一个活动中调用它(总是持有对上下文的引用):

代码语言:javascript
运行
复制
MainActivity extends AppCompatActivity { 

    OnCreate(Bundle savedInstance) {
        <YourHelperClass>.callGoogleMapsNavigation(this, 23, 44); //static call
    }
}

希望这能有所帮助:)

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10099600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档