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
/** 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
解决方案 »
- ListView 实现多选问题
- android图片太多问题
- android 如何从系统相册中获取图片
- 关于MediaPlayer这个类的问题
- 取不到map中的数据
- android image crop 非intent 的方式求教
- 如何判断apk存储在手机还是sd卡
- Android SDK 被“和谐”了
- Android4.2 把资源文件放到src目录下面
- OKhttp override问题
- 自定义控件No resource identifier found for attribute 'who' in package
- RelativeLayout.LayoutParams如何设置 gravity这个属性 用方法实现
切来切去干吗?直接可见不可见就行了啊
额 就是不会阿 我做windows开发的,搞C++的
同学让我帮他写个小的软件,大侠们还能帮忙看看如何实现我的功能
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显示时,触发
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 }
});