哪位大虾帮我该下代码
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);
切来切去干吗?直接可见不可见就行了啊 --------------------编程问答--------------------
额 就是不会阿 我做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);
} --------------------编程问答--------------------
好的 谢谢哈 我明天看看
再提个问题:我进入网页后,我点击了网页中的链接,又进入了另个页面
这个时候我按返回应该是返回上个页面,再按返回才是回到listView,这个时候我该如何判断
--------------------编程问答-------------------- webView这个控件我也没用过,
--------------------编程问答-------------------- 你这个为啥非要自己用webview去实现呢,webview比较占内存,再说webView.canGoBack()这个方法是用来判断你是否在网页里点击过二级链接,你这种功能比较适合另开一个Activity里放webview,顺便提醒下,你用webview得注意一些东西,比如是否支持js啊,比如你是否需要网页的内容点击时依然在webview上load或者用系统浏览器,个人比较建议你用系统浏览器,方便。
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()) {
//返回上个页面
}
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
}
}); --------------------编程问答--------------------
嗯 你说的方法也不错
我来试试 谢谢大家的帮助
补充:移动开发 , Android