我一直在尝试创建一个链接到网页的按钮,发现此错误(错误:(17,41)错误:不兼容的类型:视图无法转换为WebView)。我已经尝试了大多数给出的解决方案,但没有任何作用编码如下。
SettingPage.java
package com.example.app.settings.main_class;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.Button;
import com.example.app.main_activity_class.MainActivity;
import com.example.app.settings.difficulty.DifficultyMain;
import com.example.app.settings.lock_sytem.LockSettings;
import com.example.app.settings.points_system.PointsSystemMain;
import com.example.app.R;
import com.example.app.settings.relaunch_system.RelaunchSettings;
public class SettingMain extends Activity {
//Main page for settings
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setting_main_layout);
Button lock = (Button) findViewById(R.id.lock);
lock.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(SettingMain.this, LockSettings.class);
startActivity(i);
}
});
Button relaunch = (Button) findViewById(R.id.relaunch);
relaunch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(SettingMain.this, RelaunchSettings.class);
startActivity(i);
}
});
Button points = (Button) findViewById(R.id.points);
points.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent ii = new Intent(SettingMain.this, PointsSystemMain.class);
startActivity(ii);
}
});
Button difficulty = (Button) findViewById(R.id.difficulty);
difficulty.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent ai = new Intent(SettingMain.this, DifficultyMain.class);
startActivity(ai);
}
});
Button webview = (Button) findViewById(R.id.webview1);
webview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent ai = new Intent(SettingMain.this, WebView.class);
startActivity(ai);
}
});
Button saveexit = (Button) findViewById(R.id.saveexit);
saveexit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
@Override
protected void onPause() {
super.onPause();
}
}
WebView.java
package com.example.app.settings.webview;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import com.example.app.R;
public class WebView extends Activity {
private WebView webview;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
webview = (WebView) findViewById(R.id.webview1);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.google.com/");
}
private void loadUrl(String s) {
}
private WebSettings getSettings() {
return null;
}
}
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="13"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.screen.portrait" />
<android:uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/dtsfinal"
android:label="@string/app_name"
android:logo="@drawable/dothisfinal"
android:theme="@style/AppTheme" >
<activity
android:name=".main_activity_class.SplashScreen"
android:theme="@style/AppBaseTheme3" >
<intent-filter android:label="@string/app_name" >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".main_activity_class.MainActivity"
android:label=""
android:screenOrientation="portrait" />
<activity
android:name=".camera.CameraActivity"
android:screenOrientation="portrait" />
<activity android:name=".drawing.Colourchoose" />
<activity
android:name=".settings.main_class.SettingMain"
android:label="@string/app_name" />
<activity android:name=".settings.lock_sytem.LockSettings" />
<activity android:name=".settings.relaunch_system.RelaunchSettings" />
<activity android:name=".settings.points_system.PointsSystemMain" />
<activity android:name=".statistics.StatisticsView" />
<activity android:name=".drawing.BrushSize" />
<activity android:name=".admin.AdminMainPage" />
<activity android:name=".runtime.Runtime_Main" />
<activity android:name=".runtime.ViewAll" />
<activity android:name=".runtime.ViewByDate" />
<activity android:name=".settings.difficulty.DifficultyMain" />
<activity
android:name=".awards.ClockAward"
android:theme="@style/AppBaseTheme2" />
<activity
android:name=".awards.CoinAward"
android:theme="@style/AppBaseTheme2" />
<activity
android:name=".awards.TrophyAward"
android:theme="@style/AppBaseTheme2" />
<receiver
android:name=".settings.lock_sytem.MyAdminReceiver"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@layout/admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
<receiver android:name=".settings.relaunch_system.OnRelaunchReceive" />
<receiver android:name=".settings.lock_sytem.OnLockReceive" />
<activity
android:name=".settings.webview.WebView"
android:label="@string/title_activity_web_view" >
</activity>
</application>
</manifest>
setting_main_layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ln1"
android:gravity="center">
<Button
android:id="@+id/lock"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Lock Settings" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ln2"
android:gravity="center"
android:layout_below="@+id/ln1">
<Button
android:id="@+id/relaunch"
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Relaunching app settings" />
</LinearLayout>
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Points"
android:layout_below="@+id/ln2"
android:id="@+id/points" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Select Difficulty"
android:layout_below="@+id/points"
android:id="@+id/difficulty" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Visit DoThis Website"
android:layout_below="@+id/difficulty"
android:id="@+id/webview1" />
<Button
android:layout_width="fill_parent"
android:layout_height="50dp"
android:textColor="#ff00f4ff"
android:background="#ff2f2f2f"
android:layout_alignParentBottom="true"
android:text="Save and Exit"
android:id="@+id/saveexit" />
</RelativeLayout>
activity_web_view.xml
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
并且gradle构建消息如下:
信息:Gradle任务[:app:assembleDebug] :应用程序:预生成 :应用:compileDebugNdk :应用:preDebugBuild :应用:checkDebugManifest :应用:preReleaseBuild :app:prepareComAndroidSupportAppcompatV71800Library UP-TO-DATE :应用:prepareDebugDependencies :app:compileDebugAidl UP-TO-DATE :app:compileDebugRenderscript UP-TO-DATE :app:generateDebugBuildConfig UP-TO-DATE :app:generateDebugAssets UP-TO-DATE :: mergeDebugAssets UP-TO-DATE :app:generateDebugResValues UP-TO-DATE :app:generateDebugResources UP-TO-DATE :app:mergeDebugResources UP-TO-DATE :app:processDebugManifest UP-TO-DATE :app:processDebugResources UP-TO-DATE :app:generateDebugSources UP-TO-DATE :应用:compileDebugJava /Users/mcm/AndroidStudioProjects/MyApp/app/src/main/java/com/example/app/settings/webview/WebView.java 错误:(18,41)错误:不兼容的类型:视图无法转换为WebView 注意:某些输入文件使用或覆盖已弃用的API。 注意:使用-Xlint重新编译:弃用以获取详细信息。 错误:任务&#39;:app:compileDebugJava&#39;执行失败。 编译失败;请参阅编译器错误输出以获取详细信 信息:建筑失败 信息:总时间:2.194秒 信息:2个错误 信息:0警告 信息:请参阅控制台中的完整输出
任何人都可以帮我解决一些问题吗?谢谢。