3
public class hello extends Activity, ListActivity {
    WebView main_webv;  
    ListView main_listv;
    public static final int REFRESHLIST_ID = Menu.FIRST;

    private Handler mHandler = new Handler();
    private static final String SPLASH = "http://";
    private static final String LIST_NAMES = "http://";

    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        setContentView(R.layout.main);
        main_webv = (WebView) findViewById(R.id.mainwebview);
        main_webv.setWebViewClient(new HelloWebViewClient());
        main_webv.getSettings().setJavaScriptEnabled(true);
        main_webv.getSettings().setSupportZoom(false);
        main_webv.addJavascriptInterface(new HelloJavascriptInterface(),"hello");
        main_webv.setWebChromeClient(new HelloWebChromeClient());
        main_webv.loadUrl(SPLASH);  
        main_webv.setVisibility( 4 );

        setContentView(R.layout.main_list);         
        main_listv = (ListView) findViewById(R.id.mainlistview);    

    }

ご覧のとおり、最初に webview を作成します。それなら、すぐに消えてほしい。次に、Listview を表示します。しかし、問題は、ListActivity を実行しないと Listview を実行できないことです...しかし、Activity を実行することはできません...

4

3 に答える 3

2

ListViewなしで を実行できることは間違いありませんListActivityWebViewと一緒に使用することもできますListActivity

于 2010-02-10T13:28:26.913 に答える
0

//main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout android:id="@+id/lister"
             android:layout_width="match_parent"
             android:layout_height="300dp"
             android:layout_alignParentTop="true">
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</RelativeLayout>

<RelativeLayout android:id="@+id/webviewer"
         android:layout_width="match_parent"
         android:layout_height="300dp"
         android:layout_below="@+id/lister">    
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</RelativeLayout>

//java ファイル

package list.View;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class ListViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

        //setup listview
    ListView listView = (ListView) findViewById(R.id.list_view);
    listView.setAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1,
            new String[]{"One","Two"}){

    });
        // setup web view
    WebView webView = (WebView) findViewById(R.id.webview);

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setSupportZoom(false);

    //webview.loadUrl("www.google.com");

    webView.loadDataWithBaseURL("file:///android_asset/", "<img src=\"banner5.png\" height=\"98%\" width=\"100%\"/>", "text/html", "utf-8", null);



}

}

于 2011-07-11T09:48:32.790 に答える
0

私があなたの他の (おそらく関連する) スレッドに投稿したコードを見ることができます: here。同じコードを下にコピーします: これは私のレイアウト XML(weblister.xml) です:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ListView
    android:id="@+id/list_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />
    <WebView
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

</FrameLayout>

ここで、View 階層に ListView と WebView の両方を持つ Activity を作成しますが、可視になるのはそのうちの 1 つだけです。

public class WebAct extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.weblister);

            //setup listview
        ListView listView = (ListView) findViewById(R.id.list_view);
        listView.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1,
                new String[]{"One","Two"}){

        });
            // setup web view
        WebView webView = (WebView) findViewById(R.id.webview);

        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setSupportZoom(false);

        webView.loadUrl("http://www.google.com");

            // set visibility    
        listView.setVisibility(View.INVISIBLE);
        webView.setVisibility(View.VISIBLE);
    }

}
于 2010-02-11T12:50:58.570 に答える