java - 如何在android中启动 Activity 时显示值

标签 java android android-activity launch

嗨,我是一名新开发人员。在我的应用程序中,我试图显示一个地方的纬度和经度。当应用程序启动时,我希望自动显示值以下是我的代码。

{
  setContentView(R.layout.main);

        if(entered)
        {
            loadCoords();
        }
        Coords coords = loadCoords();


    }

    private Coords loadCoords() 
    {
        TextView latText = (TextView) findViewById(R.id.latText);
        TextView lngText = (TextView) findViewById(R.id.lngText);
        LocationManager myManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        if(myManager != null){
            //List list = myManager.getAllProviders();
            String param = (String)myManager.getProviders(true).get(0);
            Location loc = myManager.getLastKnownLocation(param); 
            if(loc != null){
                Double latPoint = loc.getLatitude();
                Double lngPoint = loc.getLongitude();
                    try {
                        latText.setText(latPoint.toString());
                        lngText.setText(lngPoint.toString());
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
            }
             else
                    Log.e("AndroidMaps ","Error: Location  is null");
        }
        else
            Log.e("AndroidMaps ","Error: Location Manager is null");
        return null;

    }
}

但是当我尝试在设备中运行我的应用程序时,它崩溃了。

以下是logcat中显示的错误

ERROR/AndroidRuntime(6311): Uncaught handler: thread main exiting due to uncaught exception
ERROR/AndroidRuntime(6311): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gis.ss/com.gis.ss.main}: java.lang.IndexOutOfBoundsException: Invalid location 0, size is 0
ERROR/AndroidRuntime(6311): Caused by: java.lang.IndexOutOfBoundsException: Invalid location 0, size is 0

谁能解释一下错误是什么......plzzz

最佳答案

您可能在这里得到空列表: String param = (String)myManager.getProviders(true).get(0);并尝试获取列表中的第一个会导致 java.lang.IndexOutOfBoundsException尝试添加 <uses-permission android:name="android.permission.ACCESS_GPS" /><uses-permission android:name="android.permission.ACCESS_LOCATION " />到你的菜单。

关于java - 如何在android中启动 Activity 时显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389497/

相关文章:

java - 当我在另一个静态类下使用静态类时验证 instanceof

java - 访问 ActionBar 时出现 nullPointerException

Android 2.1 复选框组件 : change check color

android - 如何防止在 onPause() 之后调用 onDestroy()?

java - @StepScope 是否可以与 @Conditional 和 jobParameters 一起使用?

java - 如果存在,则将 Optional 的值分配给变量

android - 为什么我的 WebView 没有填满屏幕的整个宽度?

java - 如何从中获取随机测验问题并在测验问题结束时添加听众

android - android.os.Messenger 和 android.os.Handler 的旋转变化问题

java - 无法解析 org.springframework.security.core.GrantedAuthority,即使它已下载/显示在项目库下