点击listview或Xlistview、GridView条目的详情页显示

< 首先有listview 要有数据>
< 然后在条目的点击事件中用意图跳转到显示详情的页面,>
<详情页面的布局必须写一个webview 这样才能通过解析类解析拿到对应的url,显示详情>
< 具体操作看以下代码:>
参考代码():


1:详情页布局 这是带进度条的今日头条2.26版的详情页
<? xml version= "1.0" encoding= "utf-8" ?>
< LinearLayout
xmlns: android = "http://schemas.android.com/apk/res/android"
android :layout_width= "match_parent"
android :layout_height= "match_parent"
android :orientation= "vertical" >
< RelativeLayout
android :layout_width= "match_parent"
android :layout_height= "25dp"
>
< ImageView
android :layout_marginLeft= "5dp"
android :id= "@+id/De_imagview_back"
android :layout_width= "wrap_content"
android :layout_height= "wrap_content"
android :src= "@mipmap/btn_back_detail_normal" />
< ImageView
android :id= "@+id/De_show_fontSize"
android :layout_alignParentRight= "true"
android :layout_marginRight= "5dp"
android :layout_width= "wrap_content"
android :layout_height= "wrap_content"
android :src= "@mipmap/show_title_details_normal" />
</ RelativeLayout >
< ImageView
android :layout_width= "match_parent"
android :layout_height= "1dp"
android :background= "#000" ></ ImageView >
< ProgressBar
android :id= "@+id/progressbar"
android :visibility= "gone"
style= "?android:attr/progressBarStyleHorizontal"
android :layout_width= "match_parent"
android :layout_height= "wrap_content" />
< WebView
android :id= "@+id/webview"
android :layout_width= "match_parent"
android :layout_height= "wrap_content" ></ WebView >

</ LinearLayout >
2: 在Gson解析下面加条目的点击监听,listview控件从上个页面传过来
// 点击显示详情页
mXlv .setOnItemClickListener( new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent( context , Details. class );
// 给intent中添加URI ,参数就是从当前条目中获取
intent.putExtra( "url" , mDatalist .get(position).getUrl());
context .startActivity(intent);
}
});
3:详情界面代码
package com.example.a1.myheadlinenews;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.ProgressBar;

public class Details extends AppCompatActivity implements View.OnClickListener {

private WebView mWebView ;
private ProgressBar mProgressBar ;
private ImageView mImageView_back ;
private ImageView mImageView_fontSize ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout. activity_details );
initview(); // 找控件

initdata(); // 初始化数据

}
private void initdata() {
// 得到传过来的值
String url = getIntent().getStringExtra( "url" );
// 获取设置
WebSettings settings = mWebView .getSettings();
// 支持 js
settings.setJavaScriptEnabled( true );
mWebView .loadUrl(url);
// 在自己应用中跳转页面
mWebView .setWebViewClient( new WebViewClient());
// 辅助 webview 处理进度条
mWebView .setWebChromeClient( new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
super .onProgressChanged(view, newProgress);
//设置 进度条的隐藏与显示 VISIBLE 显示 GONE 隐藏
mProgressBar .setVisibility(View. VISIBLE );
mProgressBar .setProgress(newProgress);
if (newProgress== 100 ){
mProgressBar .setVisibility(View. GONE );
}
}
});
mImageView_back .setOnClickListener( this );
}


private void initview() {
mWebView = (WebView) findViewById(R.id. webview );
mProgressBar = (ProgressBar) findViewById(R.id. progressbar );
mImageView_back = (ImageView) findViewById(R.id. De_imagview_back );
mImageView_fontSize = (ImageView) findViewById(R.id. De_show_fontSize );
}

@Override
public void onClick(View v) {
switch (v.getId()){
case R.id. De_imagview_back :
finish();
break ;
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值