文章详情增加评论入口

This commit is contained in:
khy
2016-11-30 10:29:35 +08:00
parent 82cf8cb877
commit 68f8bee146
17 changed files with 487 additions and 96 deletions

View File

@ -11,16 +11,33 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gh.base.BaseActivity;
import com.gh.gamecenter.entity.CommentnumEntity;
import com.gh.gamecenter.retrofit.RetrofitManager;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
/**
* Created by khy on 2016/10/18.
*/
public class WebActivity extends BaseActivity {
private WebView news_webview;
private ProgressBar web_progressbar;
@BindView(R.id.news_webview) WebView webView;
@BindView(R.id.web_progressbar) ProgressBar progressBar;
@BindView(R.id.web_comment) TextView webComment;
@BindView(R.id.news_bottom) RelativeLayout newsBottom;
private String newsId;
private int commentNum;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -28,19 +45,21 @@ public class WebActivity extends BaseActivity {
String webUrl = getIntent().getStringExtra("url");
String webTitle = getIntent().getStringExtra("gameName");
newsId = getIntent().getStringExtra("newsId");
View contentView = View.inflate(this, R.layout.activity_web, null);
init(contentView, webTitle);
news_webview.loadUrl(webUrl);
ButterKnife.bind(this);
WebSettings settings = news_webview.getSettings();
webView.loadUrl(webUrl);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);
//用webview打开url
news_webview.setWebViewClient(new WebViewClient(){
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
@ -58,7 +77,7 @@ public class WebActivity extends BaseActivity {
});
// 页面里的下载跳转到自带浏览器
news_webview.setDownloadListener(new DownloadListener() {
webView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
Uri uri = Uri.parse(url);
@ -68,26 +87,56 @@ public class WebActivity extends BaseActivity {
});
//设置加载进度条
news_webview.setWebChromeClient(new WebChromeClient(){
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
web_progressbar.setProgress(newProgress);
progressBar.setProgress(newProgress);
if (newProgress == 100){
web_progressbar.setVisibility(View.GONE);
progressBar.setVisibility(View.GONE);
if (newsBottom.getVisibility() == View.GONE) {
newsBottom.setVisibility(View.VISIBLE);
}
} else {
if (web_progressbar.getVisibility() == View.GONE) {
web_progressbar.setVisibility(View.VISIBLE);
if (progressBar.getVisibility() == View.GONE) {
progressBar.setVisibility(View.VISIBLE);
}
}
}
});
getNewsCommentNum();
}
@OnClick(R.id.web_comment)
public void OnCommentClickListener() {
Intent intent = new Intent(this, MessageDetailActivity.class);
intent.putExtra("newsId", newsId);
intent.putExtra("commentNum", commentNum);
startActivity(intent);
}
public void getNewsCommentNum() {
RetrofitManager.getComment()
.getNewsCommentnum(newsId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new com.gh.gamecenter.retrofit.Response<List<CommentnumEntity>>(){
@Override
public void onNext(List<CommentnumEntity> response) {
super.onNext(response);
if (response.size() > 0 && response.get(0).getNum() > 0) {
commentNum = response.get(0).getNum();
webComment.setText("查看评论(" + response.get(0).getNum() + ")");
}
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && news_webview.canGoBack()) {
news_webview.goBack();// 返回前一个页面
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
webView.goBack();// 返回前一个页面
return true;
}
return super.onKeyDown(keyCode, event);