针对不同活动的相同webview

时间:2015-02-28 07:42:17

标签: android html listview webview assets

我在主活动中有许多按钮,每个按钮链接到包含listview的另一个活动,listview中的每个项链接一个资产文件夹中的html文件。 在我的代码中,我正在为每个活动使用一个webview活动。 我如何为所有活动使用同一个webview活动。 我有八个不同的活动与不同的HTML文件。 我尝试将一个webview用于其他人,并且总是得到一个所有地址的HTML。

我的一项活动:

public class Dia_Page extends ListActivity {
public ListView lv;
public String number_of_keys;
public String[] values = new String[] {"dia 1",
        "dia 2","dia 3"};

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

    setListAdapter(new MyAdapter(this,android.R.layout.simple_list_item_1,R.id.textView1,values));


    lv = getListView();
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, final View view,
            int position, long id) {                        
            Intent myIntent = new Intent(Dia_Page.this,Dia_sec.class);
            myIntent.putExtra("key",position);
            startActivity(myIntent);    
        }

    });
}

我的网络视图活动:

web2.setWebViewClient(new myWebClient());
    web2.getSettings().setJavaScriptEnabled(true);
    int pos = getIntent().getIntExtra("key", 0);
    if (pos == 0) {
        web2.loadUrl("file:///android_asset/dia/diaone.html");
    } else if (pos == 1) {
        web2.loadUrl("file:///android_asset/dia/diatwo.html");
    } else if (pos == 2) {
        web2.loadUrl("file:///android_asset/dia/diathree.html");
    }

如何使用相同的webview来显示处于不同活动中的所有活动html。

2 个答案:

答案 0 :(得分:0)

尝试像这样更改webview活动中的代码。    `

String pos="";
in = getIntent();

web2.setWebViewClient(new myWebClient());
web2.getSettings().setJavaScriptEnabled(true);

pos= in.getStringExtra("key");

if (pos.equals("0")) {
         web2.loadUrl("file:///android_asset/dia/diaone.html");
} else if (pos.equals("1")) {
         web2.loadUrl("file:///android_asset/dia/diatwo.html");
} else if (pos.equals("2")) {
         web2.loadUrl("file:///android_asset/dia/diathree.html");
}`

答案 1 :(得分:0)

我将此问题的答案发布给那些像我一样有问题的朋友。 在包含listview的每个活动中,我输入以下代码:

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, final View view,
            int position, long id) {                        
            Intent intent = new Intent(getApplicationContext(), Dia_sec.class);
            switch(position){   
            case 0 :
                intent.setData(Uri.parse("file:///android_asset/can/canone.html"));
                break;
            case 1 :
                intent.setData(Uri.parse("file:///android_asset/can/cantwo.html"));
                break;
            case 2 :
                intent.setData(Uri.parse("file:///android_asset/can/canthree.html"));
                break;
            // etc
            }
            startActivity(intent);

在我的网页浏览中&#34; dia_sec&#34;我添加此代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dia_sec);
    web2.loadUrl(getIntent().getDataString());

我有大约8个不同的活动,包含他们自己的listview和不同的html文件。 现在我把代码放在活动中并将它们链接到我的webview页面。 问题解决了,现在我有一个webview,我用它来显示来自不同来源和不同列表视图的所有html文件。 非常感谢每个人都以这种方式帮助我