我创建了一个xml文件web.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<WebView
android:layout_height="300dip"
android:layout_width="fill_parent"
android:id="@+id/WebView"
android:layout_x="0dip"
android:layout_y="0dip"
></WebView>
</AbsoluteLayout>
和web.java
package com.geoo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
public class tarif extends Activity {
private static final String LOG_TAG = "Log : ";
private final String mimeType = "text/html";
private final String encoding = "utf-8";
private String pageWeb;
private WebView webView1;
private String url="http://www.google.fr";
webView1 = (WebView) findViewById(R.id.WebView);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web);
try {
//on récupère le code HTML associé à l'URL que l'on a indiqué dans l'EditText
pageWeb = tarif.getPage(url);
//on charge les données récupérées dans le WebView
webView1.loadData(pageWeb, mimeType, encoding);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getPage(String url) throws ClientProtocolException, IOException{
StringBuffer stringBuffer = new StringBuffer("");
BufferedReader bufferedReader = null;
try{
//Création d'un DefaultHttpClient et un HttpGet permettant d'effectuer une requête HTTP de type GET
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet();
//Création de l'URI et on l'affecte au HttpGet
URI uri = new URI(url);
httpGet.setURI(uri);
//Execution du client HTTP avec le HttpGet
HttpResponse httpResponse = httpClient.execute(httpGet);
//On récupère la réponse dans un InputStream
InputStream inputStream = httpResponse.getEntity().getContent();
//On crée un bufferedReader pour pouvoir stocker le résultat dans un string
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
//On lit ligne à ligne le bufferedReader pour le stocker dans le stringBuffer
String ligneCodeHTML = bufferedReader.readLine();
while (ligneCodeHTML != null){
stringBuffer.append(ligneCodeHTML);
stringBuffer.append("\n");
ligneCodeHTML = bufferedReader.readLine();
}
}catch (Exception e){
Log.e(LOG_TAG, e.getMessage());
}finally{
//Dans tous les cas on ferme le bufferedReader s'il n'est pas null
if (bufferedReader != null){
try{
bufferedReader.close();
}catch(IOException e){
Log.e(LOG_TAG, e.getMessage());
}
}
}
//On retourne le stringBuffer
return stringBuffer.toString();
}
}
我的问题在行
webView1 = (WebView) findViewById(R.id.WebView);
我不明白是什么问题,为什么eclipse出错? 谢谢
答案 0 :(得分:0)
我认为你必须将webView1 = (WebView) findViewById(R.id.WebView);
放入onCreate方法。