gpt4 book ai didi

java - 尝试调用虚拟方法。显示位置的应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:02 26 4
gpt4 key购买 nike

我正在尝试制作一个显示设备当前(或最后已知位置)的 Android 应用程序。这是 logcat 中显示的错误:

07-27 14:47:53.766: E/AndroidRuntime(28080): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference

这是我的java代码:

package com.example.autosilence;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

TextView lat = (TextView)findViewById(R.id.lat);
TextView lon = (TextView)findViewById(R.id.lon);
int b,c;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

Location lastLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (lastLocation != null)
{
lat.setText(Double.toString(lastLocation.getLatitude()));
lon.setText(Double.toString(lastLocation.getLongitude()));
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

我已经在 android list 中允许了精细和粗略位置的权限。为什么会这样?

最佳答案

这可能无法解决问题,但您会在布局膨胀之前找到 View 。移动

TextView lat = (TextView)findViewById(R.id.lat);
TextView lon = (TextView)findViewById(R.id.lon);

onCreate 的内部,在 setContentView() 之后。

关于java - 尝试调用虚拟方法。显示位置的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24979839/

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