当前位置: 首页> 健康> 美食 > 基于web的毕业论文题目_上海网络公司招聘信息_关键词排名优化软件策略_百度网站打开

基于web的毕业论文题目_上海网络公司招聘信息_关键词排名优化软件策略_百度网站打开

时间:2025/8/24 2:00:04来源:https://blog.csdn.net/weixin_44911775/article/details/145457099 浏览次数:0次
基于web的毕业论文题目_上海网络公司招聘信息_关键词排名优化软件策略_百度网站打开

fragment_classify

<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"><!-- AppBarLayout:顶部的折叠布局 --><com.google.android.material.appbar.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="150dp"app:elevation="0dp"><!-- CollapsingToolbarLayout:折叠的工具栏布局 --><com.google.android.material.appbar.CollapsingToolbarLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"app:elevation="0dp"app:layout_scrollFlags="scroll|exitUntilCollapsed"><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><androidx.viewpager.widget.ViewPagerandroid:id="@+id/bannerViewPager"android:layout_width="match_parent"android:layout_height="130dp"/></LinearLayout></com.google.android.material.appbar.CollapsingToolbarLayout></com.google.android.material.appbar.AppBarLayout><!-- TabLayout:水平的 Tab 列表 --><com.google.android.material.tabs.TabLayoutandroid:id="@+id/tabLayout"android:layout_width="wrap_content"android:layout_height="wrap_content"app:layout_behavior="@string/appbar_scrolling_view_behavior"app:tabGravity="fill"app:tabIndicatorColor="#FF5449C8"app:tabMaxWidth="150dp"app:tabMode="fixed"app:tabSelectedTextColor="#333333"app:tabTextAppearance="@style/CustomTabTextAppearance"app:tabTextColor="#80333333"app:tabIndicatorFullWidth="false"/><!-- ViewPager:显示 Tab 对应的内容 --><androidx.viewpager.widget.ViewPagerandroid:id="@+id/viewPager"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="70dp"app:layout_behavior="@string/appbar_scrolling_view_behavior"android:background="@color/white"android:paddingStart="5dp"android:paddingEnd="5dp"/></androidx.coordinatorlayout.widget.CoordinatorLayout>

ClassifyFragment

package com.jiuhong.mbtirgtest.ui.fragment;import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;import com.google.android.material.tabs.TabLayout;
import com.jiuhong.mbtirgtest.R;
import com.jiuhong.mbtirgtest.common.Global;
import com.jiuhong.mbtirgtest.ui.adapter.BannerAdapter;import java.util.ArrayList;
import java.util.List;public class ClassifyFragment extends Fragment {private ViewPager bannerViewPager;private TabLayout bannerIndicator;private List<String> imageUrls = new ArrayList<>(); // 存储图片的 URLprivate List<String> imageLinks = new ArrayList<>(); // 存储图片点击后的链接private static final int AUTO_SCROLL = 1;private static final int SCROLL_INTERVAL = 3000; // 每 3 秒切换一次ViewPager viewPager;TabLayout tabLayout;private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {if (!imageUrls.isEmpty()) {if (msg.what == AUTO_SCROLL) {int currentItem = bannerViewPager.getCurrentItem();int nextItem = (currentItem + 1) % imageUrls.size();bannerViewPager.setCurrentItem(nextItem, true);handler.sendEmptyMessageDelayed(AUTO_SCROLL, SCROLL_INTERVAL); // 延时执行}}}};@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// 返回 Fragment 的布局View rootView = inflater.inflate(R.layout.fragment_classify, container, false);// 初始化 ViewPager 和 TabLayoutviewPager = rootView.findViewById(R.id.viewPager);tabLayout = rootView.findViewById(R.id.tabLayout);// 初始化 ViewPager 和 TabLayoutbannerViewPager = rootView.findViewById(R.id.bannerViewPager);tabLayout.setTabRippleColor(null);//设置bannersetBanner();//设置tab列表setTabList();return rootView;}//    public boolean handleWebViewBackPress() {
//        if (webViewFragment2 != null && webViewFragment2.canWebViewGoBack()) {
//            webViewFragment2.goWebViewBack();
//            return true; // WebView 已处理返回操作
//        }
//        return false; // WebView 无法处理返回操作
//    }@Overridepublic void onDestroy() {super.onDestroy();handler.removeMessages(AUTO_SCROLL); // 停止轮播}private void setBanner() {// 初始化图片 URL 和链接imageUrls = new ArrayList<>();imageLinks = new ArrayList<>();for (int i = 0; i < Global.mainBannerList.size(); i++) {imageUrls.add(Global.mainBannerList.get(i).getImage());imageLinks.add(Global.mainBannerList.get(i).getUri());}// 设置适配器BannerAdapter bannerAdapter = new BannerAdapter(getActivity(), imageUrls, imageLinks);bannerViewPager.setAdapter(bannerAdapter);// 设置 TabLayout 与 ViewPager 关联
//        bannerIndicator.setupWithViewPager(bannerViewPager, true);// 启动轮播handler.sendEmptyMessageDelayed(AUTO_SCROLL, SCROLL_INTERVAL);tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {@Overridepublic void onTabSelected(TabLayout.Tab tab) {viewPager.setCurrentItem(tab.getPosition());}@Overridepublic void onTabUnselected(TabLayout.Tab tab) {}@Overridepublic void onTabReselected(TabLayout.Tab tab) {}});}private void setTabList() {// 创建 FragmentPagerAdapterFragmentPagerAdapter adapter = new FragmentPagerAdapter(getChildFragmentManager(),FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {@Overridepublic Fragment getItem(int position) {// 根据 position 返回对应的 Fragmentif (position == 0) {return ClassifyListFragment.newInstance(2); // Tab 1 对应的 Fragment} else if(position==1){return ClassifyListFragment.newInstance(3); // Tab 2 对应的 Fragment}else {return ClassifyListFragment.newInstance(4); // Tab 2 对应的 Fragment}}@Overridepublic int getCount() {return 3; // 返回 Tab 数量}@Overridepublic CharSequence getPageTitle(int position) {return position == 0 ? "精选" : position == 1?"自我":"情感"; // 设置 Tab 的标题}};// 设置适配器viewPager.setAdapter(adapter);// 将 TabLayout 和 ViewPager 关联tabLayout.setupWithViewPager(viewPager);}}

ClassifyListFragment

package com.jiuhong.mbtirgtest.ui.fragment;import static android.content.ContentValues.TAG;import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;import com.alibaba.android.arouter.launcher.ARouter;
import com.google.gson.Gson;
import com.jiuhong.mbtirgtest.R;
import com.jiuhong.mbtirgtest.common.EventKey;
import com.jiuhong.mbtirgtest.common.Global;
import com.jiuhong.mbtirgtest.handle.MyUriHandler;
import com.jiuhong.mbtirgtest.httpUtil.HttpUtil;
import com.jiuhong.mbtirgtest.httpUtil.api;
import com.jiuhong.mbtirgtest.model.ClassifyAllListModel;
import com.jiuhong.mbtirgtest.model.DailyTestModel;
import com.jiuhong.mbtirgtest.model.GetTestModel;
import com.jiuhong.mbtirgtest.ui.adapter.ClassifyAllDataAdapter;
import com.jiuhong.mbtirgtest.ui.adapter.DailyTestAdapter;
import com.songcha.library_business.helper.UMengHelper;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class ClassifyListFragment extends Fragment {private RecyclerView recyclerView;private static final String ARG_PARAM = "param";private int type; //类型:1全部,2精选,3自我,4情感private List<ClassifyAllListModel> classifyAllListModelList = new ArrayList<>();int listSize = 0;public static ClassifyListFragment newInstance(int param) {ClassifyListFragment fragment = new ClassifyListFragment();Bundle args = new Bundle();args.putInt(ARG_PARAM, param);fragment.setArguments(args);return fragment;}@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments() != null) {type = getArguments().getInt(ARG_PARAM);Log.d("ClassifyListFragment", "Received param: " + type);}}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_classify_list, container, false);recyclerView = view.findViewById(R.id.recycler_classify);GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 2);recyclerView.setLayoutManager(gridLayoutManager);if (type == 2) {getMoneyList();//精选列表} else if (type == 3) {getSelfOrEmotionList(1);//自我} else if (type == 4) {getSelfOrEmotionList(2);//情感} else if (type == 5) {//首页嵌套的列表,需要不滑动recyclerView.setNestedScrollingEnabled(false);getSelfOrEmotionList(1);//自我}return view;}@Overridepublic void onResume() {super.onResume();if (type == 5 && listSize != 0) {if(getContext()!=null){// 重新计算布局高度View view = getView();if (view != null) {// 如果 ListFragment 在显示时,手动更新其布局高度view.post(() -> {int height = getContext().getResources().getDimensionPixelSize(R.dimen.classify_height) * listSize;view.getLayoutParams().height = height;view.requestLayout();});}}}}private void getMoneyList() {//获取签到的数量Map<String, String> extraParams = new HashMap<>();HttpUtil.sendGetRequest(getContext(), api.getMbttMoney, new HttpUtil.HttpCallback() {@Overridepublic void onSuccess(String responseBody) {if (getActivity() != null) {getActivity().runOnUiThread(() -> {Log.d("测试列表", responseBody);Gson gson = new Gson();List<GetTestModel.DataBean> finalData = new ArrayList<>();GetTestModel getSignNumModel = gson.fromJson(responseBody, GetTestModel.class);for (int i = 0; i < Global.testH5Url.size(); i++) {for (int a = 0; a < getSignNumModel.getData().size(); a++) {if (Global.testH5Url.get(i).getVersion().equals(getSignNumModel.getData().get(a).getVersion())) {//version相同if (Global.testH5Url.get(i).getSort() != 0) {//sort不为0if ((getSignNumModel.getData().get(a).getSign().equals("10085")) && getSignNumModel.getData().get(a).getStage() == 3) {if (Global.testH5Url.get(i).getDesc() != null) {getSignNumModel.getData().get(a).setDescriptionExplain(Global.testH5Url.get(i).getDesc());}if (Global.testH5Url.get(i).getImage() != null) {getSignNumModel.getData().get(a).setImg(Global.testH5Url.get(i).getImage());}if (Global.testH5Url.get(i).getTitle() != null) {getSignNumModel.getData().get(a).setDescription(Global.testH5Url.get(i).getTitle());}finalData.add(getSignNumModel.getData().get(a));}}}}}classifyAllListModelList.clear();for (int i = 0; i < finalData.size(); i++) {ClassifyAllListModel classifyAllListModel = new ClassifyAllListModel();classifyAllListModel.setImg(finalData.get(i).getImg());classifyAllListModel.setListType(1);classifyAllListModel.setVersion(finalData.get(i).getVersion());classifyAllListModel.setHaveSeen(finalData.get(i).getHaveSeen());classifyAllListModel.setTitle(finalData.get(i).getDescription());classifyAllListModel.setIntroduceInfo(finalData.get(i).getDescriptionExplain());classifyAllListModel.setMoney(finalData.get(i).getMoney());classifyAllListModelList.add(classifyAllListModel);}Log.d("", "" + finalData);ClassifyAllDataAdapter adapter = new ClassifyAllDataAdapter(classifyAllListModelList, new ClassifyAllDataAdapter.OnItemClick() {@Overridepublic void onItemClick(int position) {ClassifyAllListModel item = classifyAllListModelList.get(position);for (int i = 0; i < Global.testH5Url.size(); i++) {if (item.getVersion().equals(Global.testH5Url.get(i).getVersion())) {MyUriHandler.handle(Global.testH5Url.get(i).getUri());}}if (getContext() != null) {HashMap<String, Object> map = new HashMap<>();map.put("version", item.getVersion());UMengHelper.onUMEvent(getContext(), EventKey.CLICK_DAILY_TEST_ITEM, map);}}});recyclerView.setAdapter(adapter);});}}@Overridepublic void onFailure(Exception e) {// 请求失败,处理错误Log.e(TAG, "Error123: " + e.getMessage(), e);}}, extraParams);}private void getSelfOrEmotionList(int type) {//获取测试列表,type:1为自我,2是情感Map<String, String> extraParams = new HashMap<>();HttpUtil.sendGetRequest(getContext(), api.getEverydayTest, new HttpUtil.HttpCallback() {@Overridepublic void onSuccess(String responseBody) {if (getActivity() != null) {getActivity().runOnUiThread(() -> {Log.d("测试列表", responseBody);Gson gson = new Gson();List<DailyTestModel.DataBean> finalData = new ArrayList<>();DailyTestModel getSignNumModel = gson.fromJson(responseBody, DailyTestModel.class);for (int a = 0; a < getSignNumModel.getData().size(); a++) {if (type == 1) {if (getSignNumModel.getData().get(a).getTag().equals("自我")) {finalData.add(getSignNumModel.getData().get(a));}}if (type == 2) {if (getSignNumModel.getData().get(a).getTag().equals("情感")) {finalData.add(getSignNumModel.getData().get(a));}}}listSize = finalData.size() / 2;Log.d("", "" + finalData);DailyTestAdapter adapter = new DailyTestAdapter(finalData, new DailyTestAdapter.OnItemClick() {@Overridepublic void onItemClick(int position) {DailyTestModel.DataBean item = finalData.get(position);ARouter.getInstance().build("/tqa/DailyTestTipActivity").withString("title", item.getTitle()).withString("version", item.getVersion()).withInt("test_count", item.getHaveSeen()).withString("image", item.getImg()).navigation();}});recyclerView.setAdapter(adapter);});}}@Overridepublic void onFailure(Exception e) {// 请求失败,处理错误Log.e(TAG, "Error123: " + e.getMessage(), e);}}, extraParams);}
}

fragment_classify_list

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/recycler_classify"android:layout_width="match_parent"android:layout_height="match_parent"/></androidx.constraintlayout.widget.ConstraintLayout>
关键字:基于web的毕业论文题目_上海网络公司招聘信息_关键词排名优化软件策略_百度网站打开

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: