Files
expert-app/app/src/main/java/cn/shangyu/gdxzExpert/activity/GandanConsultActivity.java
T
2025-11-18 15:12:24 +08:00

223 lines
9.1 KiB
Java

package cn.shangyu.gdxzExpert.activity;
import static cn.shangyu.gdxzExpert.base.BaseFragment.mActivity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.adapter.NewsAdapter;
import cn.shangyu.gdxzExpert.base.BaseActivity;
import cn.shangyu.gdxzExpert.bean.NewListBean;
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
import cn.shangyu.gdxzExpert.utils.CommonUtil;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.LogUtil;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.UIUtils;
import cn.shangyu.gdxzExpert.utils.Url;
import cn.shangyu.gdxzExpert.view.RollViewPager;
import cn.shangyu.gdxzExpert.widget.LoadingPage;
/**
* Created by WANGChengXin on 2020/3/10.
*/
public class GandanConsultActivity extends BaseActivity implements View.OnClickListener,OnCallBackFromNet{
private View view;
private LinearLayout dotLl;
private TextView topNewsTitle;
private LinearLayout mViewPagerLay;
private NewsAdapter newsAdapter;
private NewListBean bean;
private ArrayList<String> titleList;
private ArrayList<String> urlList;
private ArrayList<View> dotList;
private RollViewPager mViewPager;
private String newsuuid;
private String agreenum;
private String readnum;
@Override
public void setTitle() {
top_title.setText("肝胆新闻");
}
@Override
public View onCreateSuccessedView() {
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
view = UIUtils.inflate(R.layout.activity_gandanconsul);
view.findViewById(R.id.rl_hudongquan).setOnClickListener(this);
view.findViewById(R.id.rl_keyan).setOnClickListener(this);
view.findViewById(R.id.rl_casesuions).setOnClickListener(this);
view.findViewById(R.id.rl_video).setOnClickListener(this);
view.findViewById(R.id.rl_lczhaomu).setOnClickListener(this);
view.findViewById(R.id.rl_huodong).setOnClickListener(this);
dotLl = (LinearLayout) view.findViewById(R.id.dots_ll);
topNewsTitle = (TextView) view.findViewById(R.id.top_news_title);
mViewPagerLay = (LinearLayout) view.findViewById(R.id.top_news_viewpager);
newsAdapter = new NewsAdapter(this);
// 根据手机尺寸设置顶部轮播图的宽高
int width = getResources().getDisplayMetrics().widthPixels;
// int height = CommonUtil.dip2px(mActivity, 180);
int height = width * 320 / 640;
if (width < 720) {
height = width * 7 / 16 - 10;
// height = width/2;
LogUtil.i("width=" + width + "height=" + height);
}
ViewGroup.LayoutParams ivLp = mViewPagerLay
.getLayoutParams();
ivLp.width = width;
ivLp.height = height;
mViewPagerLay.setLayoutParams(ivLp);
getNewsRollList(Url.getnewsRollNew, true, true, 0);
return view;
}
//加载顶部新闻
private void getNewsRollList(final String loadUrl, final boolean isrollRefresh,
final boolean isToprollNews, final int page) {
Map<String, String> param = new HashMap<>();
param.put("page", String.valueOf(page));
sendJsonPostParamtoNetSignMD5(loadUrl, param, 1, this);
}
@Override
public LoadingPage.ResultState onLoad() {
return LoadingPage.ResultState.STATE_SUCCESSED;
}
@Override
protected void processClick(View v) {
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
int id = v.getId();
if (id == R.id.rl_huodong) {//肝胆活动
startActivity(new Intent(ct, GanDanEventActivity.class));
} else if (id == R.id.rl_hudongquan) {//互动圈
startActivity(new Intent(ct, GanDanHouseActivity.class));
} else if (id == R.id.rl_keyan) {//科研项目
startActivity(new Intent(ct, MyScientificResearchActivity.class));
} else if (id == R.id.rl_casesuions) {//临床招募
startActivity(new Intent(ct, LinChuangActivity.class));
} else if (id == R.id.rl_video) {//肝胆新闻
startActivity(new Intent(ct, NewsActivity.class));
} else if (id == R.id.rl_lczhaomu) {//肝胆会议
startActivity(new Intent(ct, GandanMeetingActivity.class));
}
}
@Override
public void onCallbackFromThread(String resultJson) {
}
@Override
public void onCallBackFromThread(String resultJson, int resultCode) {
bean = GsonTools.fromGsonToBean(resultJson, NewListBean.class);// 测试的NewsListBean
if (!StringUtil.isOneToCode(bean.code)) {
if (bean.data != null && bean.data.size() > 0) {
titleList = new ArrayList<String>();
urlList = new ArrayList<String>();
for (int i = 0; i < bean.data.size(); i++) {
titleList.add(bean.data.get(i).title);// 标题
if (!TextUtils.isEmpty(bean.data.get(i).headImg)) {
urlList.add(Url.urlHtml + bean.data.get(i).headImg);// //封面图片
} else {
urlList.add("");//
}
}
// 轮播图的点
initDot(bean.data.size());
mViewPager = new RollViewPager(mActivity, dotList,
R.drawable.dot_focus, R.drawable.dot_normal,
// 轮播图点击事件
new RollViewPager.OnPagerClickCallback() {
@Override
public void onPagerClick(int position) {
Intent intent = new Intent(mActivity,
NewsDetailActivity.class);
String url = Url.urlHtml
+ bean.data.get(position).path;
String title = bean.data.get(position).title;
String summary = bean.data.get(position).summary;
String headImg = bean.data.get(position).headImg;
newsuuid = bean.data.get(position).uuid;
agreenum = bean.data.get(position).agreenum;
readnum = bean.data.get(position).readnum;
intent.putExtra("url", url);
// intent.putExtra("title", title);
intent.putExtra("newssuuuid", newsuuid);
intent.putExtra("newssagreenum", agreenum);
intent.putExtra("newssreadnum", readnum);
intent.putExtra("title", "新闻详情");
intent.putExtra("newsTitle", title);
intent.putExtra("summary", summary);
intent.putExtra("imageUrl", Url.urlHtml
+ headImg);
intent.putExtra("flag", 4);
mActivity.startActivity(intent);
}
});
mViewPager.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
// top图片地址
mViewPager.setUriList(urlList);
// top标题
mViewPager.setTitle(topNewsTitle, titleList);
// 开始滚动
mViewPager.startRoll();
// 加载到布局
mViewPagerLay.removeAllViews();
mViewPagerLay.addView(mViewPager);
}
}
}
/**
* 实例化轮播图点 initDot
*
* @param size
* void
*/
private void initDot(int size) {
dotList = new ArrayList<View>();
dotLl.removeAllViews();
for (int i = 0; i < size; i++) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
CommonUtil.dip2px(mActivity, 6), CommonUtil.dip2px(
mActivity, 6));
params.setMargins(5, 0, 5, 0);
View m = new View(mActivity);
if (i == 0) {
m.setBackgroundResource(R.drawable.dot_focus);
} else {
m.setBackgroundResource(R.drawable.dot_normal);
}
m.setLayoutParams(params);
dotLl.addView(m);
dotList.add(m);
}
}
}