id cannot be resolved or is not a field

natici 2012-06-07 05:54:47
Activity.java代码:

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.webkit.WebView;
import android.webkit.WebSettings;

public class test extends Activity{
private WebView mWebView;
private Handler mHandler = new Handler();

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new Object(){
public void screenSize() {
mHandler.post(new Runnable(){
public void run(){
mWebView.loadUrl("javascript:test()");
}
});
}
}, "demo");

super.setIntegerProperty("splashscreen", R.drawable.ic_launcher);
super.setIntegerProperty("splashscreen", R.drawable.bg);
super.loadUrl("file:///android_asset/www/index.html",4000);
}
}


求助这个提示要怎么解决呢?
...全文
1015 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lintianlin520 2012-07-19
  • 打赏
  • 举报
回复

有可能是你在导入android.R的时候出错了,建议删除import android.R 然后重新编译。

是否安装了JAVA SDK 6?是的话这个问题好办,打开eclipse,菜单栏选择window->preferences,弹出对话框,对话框左侧菜单选择java->compiler,再在对话框右侧找到compiler compliance level 这个选项,选择1.5,问题解决。

不同的eclipse版本具体选择路径可能不同,不过只要找到JAVA编译器选项将其选为1.5就可以。

1.先检查你的代码,代码有误,R.java文件是生成不了的

2. 把Project ----> Build Automatically那个选项勾上,让工程每次修改完后都会自动编译,这样R.java会是最新的(这时候程序有误,不会生成)

3. Project ---> Clean,点开后,选中你的工程,然后OK,会Reset你的工程设置,然后重新Build一下,这样三步下来,就能搞定你的问题了。
RDroid 2012-06-13
  • 打赏
  • 举报
回复
这个涉及js的执行流程吧
1.你的welcome.html里要执行 welcome.screenSize()
2.回调java代码得到屏幕尺寸
3.调用js里的test(w,h)方法
natici 2012-06-11
  • 打赏
  • 举报
回复
综合大家的帮助,我修改了一下代码:

public class test extends DroidGap {
private WebView mWebView;
private Handler mHandler = new Handler();

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new Object() {
public void screenSize() {
mHandler.post(new Runnable() {
public void run() {
DisplayMetrics DM = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(DM);
mWebView.loadUrl("javascript:test('"+DM.widthPixels+"','"+DM.heightPixels+")");
}
});
}
}, "welcome");

super.setIntegerProperty("splashscreen", R.drawable.ic_launcher);
super.setIntegerProperty("splashscreen", R.drawable.bg);
mWebView.loadUrl("file:///android_asset/www/welcome.html");
}
}


我是想在JAVA里获取手机屏幕的分辨率,然后传值给js使用。编译是通过了,手机上也能运行这个apk,可是感觉就没有调用js的test(),问题是出在哪里呢?
jefferyyangkai 2012-06-11
  • 打赏
  • 举报
回复
WebView没定义宽高,这样子也能编译过吗?
RDroid 2012-06-10
  • 打赏
  • 举报
回复
开发环境问题吧

如果是在eclipse下,安装好ADT插件的话,写好xml然后刷新下项目,新的id就会在R.java里生成出来
natici 2012-06-10
  • 打赏
  • 举报
回复
继续盼望高手的帮助。。。
AMinfo 2012-06-08
  • 打赏
  • 举报
回复
如果是mWebView = (WebView) findViewById(R.id.webview);这行出错的话,说明布局文件main.xml里面没有定义webview这个ID
natici 2012-06-08
  • 打赏
  • 举报
回复
是不是我的问题太难解决了。。?没见有几个高手近来捧场呢?
natici 2012-06-08
  • 打赏
  • 举报
回复
super这个是phonegap自己生成的,不能修改呀。
而且还没运行到这几行代码就已经出错了。
我把以下代码注释掉就没事了。

setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new Object(){
public void screenSize() {
mHandler.post(new Runnable(){
public void run(){
mWebView.loadUrl("javascript:test()");
}
});
}
}, "demo");



这几行是网上找的,我是想传值给javascript。
AMinfo 2012-06-08
  • 打赏
  • 举报
回复
super.setIntegerProperty("splashscreen", R.drawable.ic_launcher);
super.setIntegerProperty("splashscreen", R.drawable.bg);
super.loadUrl("file:///android_asset/www/index.html",4000);
这几个前面的super全部改成mWebView
natici 2012-06-08
  • 打赏
  • 举报
回复
mWebView = (WebView) findViewById(R.id.webview);

这一行出错,我是菜鸟,基本不懂java的,只是项目涉及到java但又出错了。代码是网上收集拼凑的,1楼能具体说说应该怎么修改吗?
natici 2012-06-08
  • 打赏
  • 举报
回复
顶顶吧,这个问题还是比较急的。
natici 2012-06-08
  • 打赏
  • 举报
回复
main.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView

android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />

<WebView
android:id="@+id/webview"
/>

</LinearLayout>


<WebView
android:id="@+id/webview"
/>

这个是我自己加上去的,不知道这样可以不?
AMinfo 2012-06-07
  • 打赏
  • 举报
回复
哪行出错?

super.loadUrl,你的super不是webView,可以这样用?

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧