【问题标题】:Android : webview not displayed on the defined activityAndroid:webview未显示在定义的活动上
【发布时间】:2017-09-05 09:36:15
【问题描述】:

我想在同一个活动上显示一个 webview 和一个 listview。 如果我在 webview 中显示一个简短的 html 代码,没关系,一半的窗口专用于 webview。 但是,如果我在 webview 中加载一个 url,则专用于 web view 的屏幕部分是空的,webview 的内容显示在一个新的活动上。 你能帮帮我吗?

.xml:

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

    <WebView
        android:id="@+id/wikipediaCompo"
        android:layout_width="match_parent"
        android:layout_height="300dp" />

    <ListView
        android:id="@+id/list_oeuvres"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

java代码:

public class Display2 extends Activity {

    public ListView mListOeuvres;
    public WebView wikipediaCompo;

    public String[] infoOeuvres = new String[6];
    public int i=0;
    public String debug = "debug";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.display_oeuvres);

        mListOeuvres = (ListView) findViewById(R.id.list_oeuvres);
        try {
            InputStream is = getAssets().open("oeuvres.txt");
            Reader reader = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(reader);

            String line;
            while ((line = br.readLine()) != null) {
                //Log.e("code",line);
                String[] RowData = line.split("\\*");
                String nom = RowData[0];
                String refYouTube = RowData[1];
                String date = RowData[2];
                String duree = RowData[3];
                String interpretes = RowData[4];
                infoOeuvres[i] = nom +", "+date+" "+duree+" ("+interpretes+")";
                i++;
            }

        } catch (IOException ex) {
            ex.printStackTrace();
        }
        i=i-1;

        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(Display2.this,
                android.R.layout.simple_list_item_1, infoOeuvres);

        String url="https://en.wikipedia.org/wiki/Ferdinando_Bertoni";

        wikipediaCompo = (WebView) findViewById(R.id.wikipediaCompo);

        // Configure la webview pour l'utilisation du javascript
        WebSettings webSettings = wikipediaCompo.getSettings();
        //WebSettings.setJavaScriptEnabled(true);

        // Permet l'ouverture des fenêtres
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);

        // Autorise le stockage DOM (Document Object Model)
        webSettings.setDomStorageEnabled(true);

        // Load the url
        wikipediaCompo.loadUrl(url);
        // Test with html code
        /*String temp = "<html><body>" + "<p align=\"justify\">"
                + "TEST" + "</p> "
                + "</body></html>";
        wikipediaCompo.loadData(temp, "text/html", "utf-8");*/

        mListOeuvres.setAdapter(adapter);
        mListOeuvres.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                String pos = String.valueOf(parent.getItemAtPosition(position));

                final GlobalClass globalVariable = (GlobalClass) getApplicationContext();

                //Set name and email in global/application context
                globalVariable.setNoOeuvre(position);

                Intent i = new Intent(Display2.this, Display3.class);
                startActivity(i);
            }
        });
    }
}

【问题讨论】:

  • 清单中的互联网权限?

标签: java android webview


【解决方案1】:

wikipediaCompo.loadUrl(url);后面加上这段代码

wikipediaCompo.setWebViewClient(new WebViewClient()
{
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
           return false;
        }
 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 2016-04-10
    • 2011-03-06
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多