嗨,我正在做一个android gps教程,我收到一个我不明白的错误(我对android dev很新)。我在
得到了错误position = (WebView) findViewById(R.id.activity_main);
activity_main
似乎是问题所在。有人可以解释问题是什么吗?感谢。
import android.R;
import android.app.Activity;
import android.location.Location;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.Toast;
public class GPSActivity extends Activity
{
WebView position;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_item);
position = (WebView) findViewById(R.id.activity_main);
position.getSettings().setJavaScriptEnabled(true);
}
public void onLocationChanged(Location loc)
{
String Text ="My current location is: " + "Latitud="
+ loc.getLatitude() + "Longitud =" + loc.getLongitude();
Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_LONG).show();
String url ="http://maps.google.com/staticmap?center="
+ loc.getLatitude() +loc.getLatitude()
+ "&zoom=14&size=512x512&maptype=mobile/&markers="
+ loc.getLatitude() + loc.getLongitude();
position.loadUrl(url);
}
}
错误是活动主要无法解决或者不是字段,我认为id在activity_main但是如果我错了就纠正我,这里是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Webview
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
答案 0 :(得分:6)
将其更改为
position = (WebView) findViewById(R.id.webview);
还要确保设置正确的布局
setContentView(R.layout.activity_main);
原因是WebView
的ID不是R.id.activity_main
。在您的情况下,它是R.id.webview
。 ID值通过android:id="@+id/webview
另一个可能的问题。同时删除import android.R;
。
答案 1 :(得分:2)
这是它无法找到您的资源的原因:
import android.R;
它希望在预编译的android.R中找到你的R相关内容。您需要删除该行并导入包的R而不是预编译的R。
删除import android.R
行。
还要确保您的项目编译并在构建过程中生成R.java。
答案 2 :(得分:1)
position = (WebView) findViewById(R.id.webview);
。
它正在android.R.id中寻找webview,但它位于your_package_name.R.id。
答案 3 :(得分:0)
删除 import android.R;
您可能会发现无法识别的错误。这是因为您使用的是默认包而不是项目包。您可以通过导入.R来解决它 所以如果你的包名是com.GPS 然后导入com.GPS.R
答案 4 :(得分:0)
View v=inflater.inflate(R.layout.fragment_two, container, false);
WebView mWebView = (WebView) v.findViewById(R.id.webView2);
我做到了:) 我能够
答案 5 :(得分:0)
我与findViewByID(R.id.activity_main);
有同样的问题,我花了几天时间尝试在网上看到的所有解决方案。
我使用以下方法解决了问题:
我转到XML文档并为我的布局命名(ID):activity_main
。
这行代码在我的XML文档的TextView中弹出:android:id="@+id/activity_main"
。
我立即停止了activity_main
问题。
注意:我也没有import.android.R statement
。