当前位置:编程学习 > wap >>

哪位大虾帮我该下代码

public class CollectUrlActivity extends Activity {
    /** Called when the activity is first created. */
 private ListView listView;
 WebView webView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        listView = new ListView(this);
        webView=new WebView(this);
        listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData()));
        listView.setOnItemClickListener(new OnItemClickListener() {  
            @Override  
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {  
                setTitle("点击第"+arg2+"个项目");
                webView.getSettings().setJavaScriptEnabled(true);
                webView.loadUrl("http://sina.com");
                setContentView(webView);
            }  
        }); 
        setContentView(listView);
        
    }
    
    public boolean onKeyDown(int keyCode,KeyEvent event)
    {
        if(webView.canGoBack() && keyCode == KeyEvent.KEYCODE_BACK)
        {
         webView.goBack();  
         return true;
        }
        setContentView(listView);
        return super.onKeyDown(keyCode, event); 
    }

    private List<String> getData(){
        
        List<String> data = new ArrayList<String>();
        data.add("测试数据1");
        data.add("测试数据2");
        data.add("测试数据3");
        data.add("测试数据4");
         
        return data;
    }
}



就是要求点击listview的item 然后链接倒一个网址
在返回的时候再显示listview --------------------编程问答-------------------- 哪位帮忙看看  --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- setContentView(listView);
切来切去干吗?直接可见不可见就行了啊 --------------------编程问答--------------------
引用 3 楼  的回复:
setContentView(listView);
切来切去干吗?直接可见不可见就行了啊


额 就是不会阿 我做windows开发的,搞C++的
同学让我帮他写个小的软件,大侠们还能帮忙看看如何实现我的功能 --------------------编程问答--------------------
引用 4 楼  的回复:
引用 3 楼  的回复:

setContentView(listView);
切来切去干吗?直接可见不可见就行了啊


额 就是不会阿 我做windows开发的,搞C++的
同学让我帮他写个小的软件,大侠们还能帮忙看看如何实现我的功能

你是要实现什么样的功能,显示网页的时候点击返回回到list页面,在list页面点击返回就退出程序吗。 --------------------编程问答--------------------
引用 5 楼  的回复:
引用 4 楼  的回复:

引用 3 楼  的回复:

setContentView(listView);
切来切去干吗?直接可见不可见就行了啊


额 就是不会阿 我做windows开发的,搞C++的
同学让我帮他写个小的软件,大侠们还能帮忙看看如何实现我的功能

你是要实现什么样的功能,显示网页的时候点击返回回到list页面,在list页面点击返回就退出程序吗。


是的,能不能帮忙看看这个程序如何改 --------------------编程问答--------------------
webView.canGoBack(),这个判断有问题,你可以这么做:
加个全局变量boolean webView_show = false;   //true 为webwiew显示


setTitle("点击第"+arg2+"个项目");
                webView.getSettings().setJavaScriptEnabled(true);
                webView.loadUrl("http://sina.com");
                setContentView(webView);
                webView_show = true;   //显示webwiew的同时,把webView_show = true;

返回事件这样写
public boolean onKeyDown(int keyCode,KeyEvent event)
    {
        if (webView_show && keyCode == KeyEvent.KEYCODE_BACK) {
//点击返回,且webView显示时,触发
         System.out.println("gogo");
         setContentView(listView);
         webView_show = false;
         return false;
        }
//其他关闭程序
        return super.onKeyDown(keyCode, event); 
    } --------------------编程问答--------------------
引用 7 楼  的回复:
webView.canGoBack(),这个判断有问题,你可以这么做:
加个全局变量boolean webView_show = false;   //true 为webwiew显示


setTitle("点击第"+arg2+"个项目");
                webView.getSettings().setJavaScriptEnabled(true);
      ……

好的 谢谢哈 我明天看看
再提个问题:我进入网页后,我点击了网页中的链接,又进入了另个页面
这个时候我按返回应该是返回上个页面,再按返回才是回到listView,这个时候我该如何判断

--------------------编程问答-------------------- webView这个控件我也没用过,

if (webView_show && keyCode == KeyEvent.KEYCODE_BACK) {
  //点击返回,且webView显示时,触发
  System.out.println("gogo");
  setContentView(listView);
  webView_show = false;
  return false;
  }
if (webView_show && keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
  //返回上个页面
  }
--------------------编程问答-------------------- 你这个为啥非要自己用webview去实现呢,webview比较占内存,再说webView.canGoBack()这个方法是用来判断你是否在网页里点击过二级链接,你这种功能比较适合另开一个Activity里放webview,顺便提醒下,你用webview得注意一些东西,比如是否支持js啊,比如你是否需要网页的内容点击时依然在webview上load或者用系统浏览器,个人比较建议你用系统浏览器,方便。
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {  
                setTitle("点击第"+arg2+"个项目");
                 Uri uri= Uri.parse("http://sina.com"); 
         Intent i = new Intent(Intent.ACTION_VIEW, uri); 
        XXXActivity.this.startActivity(i);
                也不用去setContentView

            }  
        });  --------------------编程问答--------------------
引用 10 楼  的回复:
你这个为啥非要自己用webview去实现呢,webview比较占内存,再说webView.canGoBack()这个方法是用来判断你是否在网页里点击过二级链接,你这种功能比较适合另开一个Activity里放webview,顺便提醒下,你用webview得注意一些东西,比如是否支持js啊,比如你是否需要网页的内容点击时依然在webview上load或者用系统浏览器,个人比较建议你用系统浏览器,方便……


嗯 你说的方法也不错
我来试试 谢谢大家的帮助
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,