一个最简单的Activity中实现Fragment切换功能效果:

一.效果图:

二.快速实现:

一个Activity中添加多个Fragment进行切换实现相应的功能需求逻辑,比如在activity中有三个按钮切换fragment界面,按钮1和按钮二都是点击之后直接切换到对应的Fragment,按钮3则是弹出一个弹框出来,然后点击弹框中的按钮再进行切换到对应的Fragment。

1.主函数代码:

import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;import com.example.qd.douyinwu.R;
import com.example.qd.douyinwu.adapter.MyListAdapter;
import com.example.qd.douyinwu.fragment.FlyFragment;
import com.example.qd.douyinwu.fragment.HightFragment;
import com.example.qd.douyinwu.fragment.TestFragment;
import com.example.qd.douyinwu.view.activity.popupmenu.PopUpWindowActivity;import java.util.ArrayList;
import java.util.List;public class FragmentTestActivity extends AppCompatActivity implements View.OnClickListener{private FragmentManager fragmentManager;private FlyFragment flyFragment;private HightFragment hightFragment;private FragmentTransaction mTransaction;private String[] name;private List<String> list = new ArrayList<>();private PopupWindow popupWindow1;private Button btThree;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_fragment);initView();}private void initView(){FrameLayout fl = findViewById(R.id.fl);Button btOne = findViewById(R.id.bt_one);btThree = findViewById(R.id.bt_three);Button btTwo = findViewById(R.id.bt_two);btOne.setOnClickListener(this);btThree.setOnClickListener(this);btTwo.setOnClickListener(this);list.clear();list.add("KING");list.add("OLPL");list.add("CHAIN");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");list.add("CHINA");//获取到fragment的管理者fragmentManager = getSupportFragmentManager();//开启事务mTransaction = fragmentManager.beginTransaction();flyFragment = new FlyFragment();hightFragment = new HightFragment();/*** 替换界面* 1 需要替换的界面的id* 2具体指某一个fragment的对象*/mTransaction.replace(R.id.fl, flyFragment).commit();}@Overridepublic void onClick(View v) {FragmentTransaction mTransaction = fragmentManager.beginTransaction();switch (v.getId()){case R.id.bt_one:mTransaction.replace(R.id.fl, flyFragment).commit();break;case R.id.bt_two:mTransaction.replace(R.id.fl, hightFragment).commit();break;case R.id.bt_three:initPopWindow();break;default:break;}}private void initPopWindow(){View contentView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.layout_pop_item_list, null);
//        contentView.setBackgroundColor(Color.BLUE);popupWindow1 = new PopupWindow(findViewById(R.id.mainLayout), 900, LinearLayout.LayoutParams.WRAP_CONTENT);popupWindow1.setContentView(contentView);TextView tvMore = (TextView) contentView.findViewById(R.id.tv_more);TextView textView = (TextView) contentView.findViewById(R.id.text);tvMore.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {popupWindow1.dismiss();//这里需要重新获取对象,不然会报错java.lang.IllegalStateException: commit already calledfragmentManager = getSupportFragmentManager();FragmentTransaction mTransaction = fragmentManager.beginTransaction();mTransaction.replace(R.id.fl, new TestFragment()).commit();Toast.makeText(FragmentTestActivity.this, "更多", Toast.LENGTH_SHORT).show();}});textView.setText("测试");openDir();ListView listView = (ListView) contentView.findViewById(R.id.list);//原生自带布局
//        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, name);//自定义布局,只可以设置一个控件的布局
//        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.simple_list_item_popup,R.id.tv_content, name);//完全自定义布局MyListAdapter mAdapter = new MyListAdapter(this,list);//得到一个MyAdapter对象listView.setAdapter(mAdapter);//为ListView绑定Adapter /*为ListView添加点击事件*/
//        listView.setAdapter(adapter);mAdapter.setOnClickMyTextView(new MyListAdapter.OnClickMyTextView() {@Overridepublic void myTextViewClick(int id) {Toast.makeText(FragmentTestActivity.this, "点击了"+id, Toast.LENGTH_SHORT).show();}});popupWindow1.setFocusable(true);popupWindow1.showAsDropDown(btThree);//显示位置popupWindow1.setOnDismissListener(new PopupWindow.OnDismissListener() {@Overridepublic void onDismiss() {popupWindow1.dismiss();}});popupWindow1.setOutsideTouchable(true);}private void openDir(){name = new String[]{"12","22","22","22","22","22","22","22"};}
}

2.主函数布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/colorPrimary"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="50dp"><Buttonandroid:id="@+id/bt_one"android:text="一"android:layout_width="wrap_content"android:layout_height="wrap_content" /><Buttonandroid:id="@+id/bt_two"android:text="二"android:layout_width="wrap_content"android:layout_height="wrap_content" /><Buttonandroid:id="@+id/bt_three"android:text="三"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout><FrameLayoutandroid:id="@+id/fl"android:layout_width="match_parent"android:layout_height="match_parent"></FrameLayout>
</LinearLayout>

3.FlyFragment.class:

package com.example.qd.douyinwu.fragment;import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;import com.example.qd.douyinwu.R;public class FlyFragment extends Fragment{@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);}@Overridepublic void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_fly,container,false);
//        TextView mTextView = (TextView) view.findViewById(R.id.tv_fragment_content);
//        mTextView.setText("Fragment2");
//        mTextView.setOnClickListener(this);
//        Button mButton = (Button) view.findViewById(R.id.btn_toggle_fragment);
//        mButton.setOnClickListener(this);return view;}
}

4.fragment_fly.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/tv_content"android:text="我是一"android:layout_gravity="center"android:gravity="center"android:textSize="25sp"android:layout_width="match_parent"android:layout_height="wrap_content" />
</LinearLayout>

5.Fragment都是类似的就不全部贴出了,直接复制改下名字就可以:

TestFragment.class

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;import com.example.qd.douyinwu.R;public class TestFragment extends Fragment{@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);}@Overridepublic void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_hight,container,false);TextView mTextView = (TextView) view.findViewById(R.id.tv_content);mTextView.setText("我是三");
//        mTextView.setOnClickListener(this);
//        Button mButton = (Button) view.findViewById(R.id.btn_toggle_fragment);
//        mButton.setOnClickListener(this);return view;}
}

以下是测试demo:(布局颜色需要改变)Fragment之间的滑动 网路请求解析(仅仅是笔记)

bean 1

<span style="font-size:18px;">import java.util.List;public class Data1 {public List<MyData1> data;public class MyData1{public String FROMNAME;public String ID;public String IMAGEURL;public String RN;public String SHOWTIME;public String SUBTITLE;public String TITLE;}
}
</span>

bean 2

<span style="font-size:18px;">import java.util.List;public class Data2 {public List<MyData2> data;public class MyData2{public String ID;public String RN;public String SHOWTIME;public String SUBTITLE;public String TITLE;}
}</span>

MainActivity.class

<span style="font-size:18px;">import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.TextView;
import fragment.Fragment1;
import fragment.Fragment2;
import fragment.Fragment3;public class MainActivity extends FragmentActivity implements OnClickListener {private TextView t1;private TextView t2;private TextView t3;private ViewPager viewPager;private TextView t11;private TextView t22;private TextView t33;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 去掉头部requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);//初始化组件initView();}/*** 初始化组件*/@SuppressWarnings("deprecation")public void initView() {t1 = (TextView) findViewById(R.id.t1);t2 = (TextView) findViewById(R.id.t2);t3 = (TextView) findViewById(R.id.t3);t11 = (TextView) findViewById(R.id.t11);t22 = (TextView) findViewById(R.id.t22);t33 = (TextView) findViewById(R.id.t33);viewPager = (ViewPager) findViewById(R.id.viewPager);// 设置监听t1.setOnClickListener(this);t2.setOnClickListener(this);t3.setOnClickListener(this);t11.setOnClickListener(this);t22.setOnClickListener(this);t33.setOnClickListener(this);//给ViewPager设置适配器viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn 3;}@Overridepublic Fragment getItem(int arg0) {//根据ViewPager 索引 返回相应FragmentFragment fragment = null;switch (arg0) {case 0:fragment = new Fragment1();break;case 1:fragment = new Fragment2();break;case 2:fragment = new Fragment3();break;default:break;}return fragment;}});//给ViewPager设置滑动监听viewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int position) {//根据position改变游标状态switch (position) {case 0:t11.setBackgroundColor(Color.RED);t22.setBackgroundColor(Color.parseColor("#00000000"));t33.setBackgroundColor(Color.parseColor("#00000000"));break;case 1:t22.setBackgroundColor(Color.RED);t11.setBackgroundColor(Color.parseColor("#00000000"));t33.setBackgroundColor(Color.parseColor("#00000000"));break;case 2:t33.setBackgroundColor(Color.RED);t22.setBackgroundColor(Color.parseColor("#00000000"));t11.setBackgroundColor(Color.parseColor("#00000000"));break;default:break;}}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}});}/*** 点击事件*/@Overridepublic void onClick(View v) {switch (v.getId()) {//点击选项卡 跳转到对应的Fragment页case R.id.t1:viewPager.setCurrentItem(0);break;case R.id.t2:viewPager.setCurrentItem(1);break;case R.id.t3:viewPager.setCurrentItem(2);break;default:break;}}}
</span>

Fragment1

<span style="font-size:18px;">import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import bean.Data1;
import bean.Data1.MyData1;import com.bwie.test.R;
import com.google.gson.Gson;
import com.lidroid.xutils.BitmapUtils;public class Fragment1 extends Fragment {private View view;private ListView listView1;private final String path = "http://www.93.gov.cn/93app/data.do";// 接口private String resultJson;private Context context;private List<MyData1> datas = new ArrayList<MyData1>();Handler handler = new Handler() {public void handleMessage(android.os.Message msg) {switch (msg.what) {case 0://给listView 设置数据  更新UIresultJson = (String) msg.obj;Gson gson = new Gson();Data1 fromJson = gson.fromJson(resultJson, Data1.class);datas.addAll(fromJson.data);listView1.setAdapter(new MyBaseAdapter1());break;default:break;}};};@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.fragment1, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);context = getActivity();listView1 = (ListView) view.findViewById(R.id.listView1);new Thread() {public void run() {requestDataByData(0, 0);}}.start();}/*** 请求网络数据*/public void requestDataByData(final int channelId, final int startNum) {try {URL url = new URL(path);String entity = "channelId=" + channelId + "&startNum=" + startNum;HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);OutputStream outputStream = conn.getOutputStream();outputStream.write(entity.getBytes());int responseCode = conn.getResponseCode();if (responseCode == 200) {ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();InputStream is = conn.getInputStream();//将流转化为字符换int len = 0;byte[] buffer = new byte[1024];while ((len = is.read(buffer)) != -1) {arrayOutputStream.write(buffer, 0, len);}//将结果发送的Handlerhandler.obtainMessage(0, arrayOutputStream.toString("utf-8")).sendToTarget();}} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}class MyBaseAdapter1 extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn datas.size();}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View arg1, ViewGroup arg2) {View view2 = View.inflate(context, R.layout.list_item1, null);TextView title1 = (TextView) view2.findViewById(R.id.title1);TextView subTitle1 = (TextView) view2.findViewById(R.id.subTitle);TextView time1 = (TextView) view2.findViewById(R.id.time1);TextView author1 = (TextView) view2.findViewById(R.id.author1);ImageView img = (ImageView) view2.findViewById(R.id.img);title1.setText(datas.get(position).TITLE);subTitle1.setText(datas.get(position).SUBTITLE);time1.setText(datas.get(position).SHOWTIME);author1.setText(datas.get(position).FROMNAME);if(TextUtils.isEmpty(datas.get(position).IMAGEURL)){img.setVisibility(View.GONE);}else{BitmapUtils bitmapUtils = new BitmapUtils(context);bitmapUtils.display(img, datas.get(position).IMAGEURL);}return view2;}}}
</span>

Fragment2

<span style="font-size:18px;">import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import bean.Data1;
import bean.Data1.MyData1;
import bean.Data2;
import bean.Data2.MyData2;import com.bwie.test.R;
import com.google.gson.Gson;
import com.lidroid.xutils.BitmapUtils;public class Fragment2 extends Fragment {private View view;private ListView listView2;private final String path = "http://www.93.gov.cn/93app/data.do";// 接口private String resultJson;private Context context;private List<MyData2> datas = new ArrayList<MyData2>();Handler handler = new Handler() {public void handleMessage(android.os.Message msg) {switch (msg.what) {case 0://给listView 设置数据  更新UIresultJson = (String) msg.obj;Log.i("result", resultJson);Gson gson = new Gson();Data2 fromJson = gson.fromJson(resultJson, Data2.class);datas.addAll(fromJson.data);listView2.setAdapter(new MyBaseAdapter1());break;default:break;}};};@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.fragment2, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);//获得上下文对象context = getActivity();listView2 = (ListView) view.findViewById(R.id.listView2);//开启子线程  进行请求网络 操作new Thread() {public void run() {requestDataByData(1, 21);}}.start();}/*** 请求网络数据   POST*/public void requestDataByData(final int channelId, final int startNum) {try {URL url = new URL(path);String entity = "channelId=" + channelId + "&startNum=" + startNum;HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);OutputStream outputStream = conn.getOutputStream();outputStream.write(entity.getBytes());int responseCode = conn.getResponseCode();if (responseCode == 200) {ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();InputStream is = conn.getInputStream();//将流转化为字符串int len = 0;byte[] buffer = new byte[1024];while ((len = is.read(buffer)) != -1) {arrayOutputStream.write(buffer, 0, len);}handler.obtainMessage(0, arrayOutputStream.toString("utf-8")).sendToTarget();}} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//自定义适配器class MyBaseAdapter1 extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn datas.size();}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View arg1, ViewGroup arg2) {View view2 = View.inflate(context, R.layout.list_item2, null);TextView title2 = (TextView) view2.findViewById(R.id.title2);TextView subTitle2 = (TextView) view2.findViewById(R.id.subTitle2);TextView time2 = (TextView) view2.findViewById(R.id.time2);title2.setText(datas.get(position).TITLE);subTitle2.setText(datas.get(position).SUBTITLE);time2.setText(datas.get(position).SHOWTIME);return view2;}}}</span>

Fragment3

<span style="font-size:18px;">import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import bean.Data1;
import bean.Data1.MyData1;
import bean.Data2;
import bean.Data2.MyData2;import com.bwie.test.R;
import com.google.gson.Gson;
import com.lidroid.xutils.BitmapUtils;public class Fragment3 extends Fragment {private View view;private ListView listView2;private final String path = "http://www.93.gov.cn/93app/data.do";// 接口private String resultJson;private Context context;private List<MyData2> datas = new ArrayList<MyData2>();Handler handler = new Handler() {public void handleMessage(android.os.Message msg) {switch (msg.what) {case 0://给listView 设置数据  更新UIresultJson = (String) msg.obj;Log.i("result", resultJson);Gson gson = new Gson();Data2 fromJson = gson.fromJson(resultJson, Data2.class);datas.addAll(fromJson.data);listView2.setAdapter(new MyBaseAdapter1());break;default:break;}};};@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {view = inflater.inflate(R.layout.fragment2, container, false);return view;}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);// 获得上下文对象context = getActivity();listView2 = (ListView) view.findViewById(R.id.listView2);// 开启一个子线程 进行请求网络操作new Thread() {public void run() {requestDataByData(3, 21);}}.start();}/*** 请求网络数据*/public void requestDataByData(final int channelId, final int startNum) {try {URL url = new URL(path);String entity = "channelId=" + channelId + "&startNum=" + startNum;HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);OutputStream outputStream = conn.getOutputStream();outputStream.write(entity.getBytes());int responseCode = conn.getResponseCode();if (responseCode == 200) {ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();InputStream is = conn.getInputStream();//将流转化为字符串int len = 0;byte[] buffer = new byte[1024];while ((len = is.read(buffer)) != -1) {arrayOutputStream.write(buffer, 0, len);}handler.obtainMessage(0, arrayOutputStream.toString("utf-8")).sendToTarget();}} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}class MyBaseAdapter1 extends BaseAdapter {@Overridepublic int getCount() {// TODO Auto-generated method stubreturn datas.size();}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View arg1, ViewGroup arg2) {View view2 = View.inflate(context, R.layout.list_item2, null);TextView title2 = (TextView) view2.findViewById(R.id.title2);TextView subTitle2 = (TextView) view2.findViewById(R.id.subTitle2);TextView time2 = (TextView) view2.findViewById(R.id.time2);title2.setText(datas.get(position).TITLE);subTitle2.setText(datas.get(position).SUBTITLE);time2.setText(datas.get(position).SHOWTIME);return view2;}}}
</span>

activity_main

<span style="font-size:18px;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.bwie.test.MainActivity" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal" ><LinearLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:orientation="vertical" ><TextViewandroid:id="@+id/t1"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#ccc"android:gravity="center"android:padding="10dp"android:text="本社介绍" /><TextViewandroid:id="@+id/t11"android:layout_width="match_parent"android:layout_height="2dp"android:background="#ff0000" /></LinearLayout><LinearLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="vertical" ><TextViewandroid:id="@+id/t2"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#ccc"android:gravity="center"android:padding="10dp"android:text="履行职责" /><TextViewandroid:id="@+id/t22"android:layout_width="match_parent"android:layout_height="2dp"android:gravity="center" /></LinearLayout><LinearLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:orientation="vertical" ><TextViewandroid:id="@+id/t3"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#ccc"android:gravity="center"android:padding="10dp"android:text="自我建设" /><TextViewandroid:id="@+id/t33"android:layout_width="match_parent"android:layout_height="2dp"android:gravity="center" /></LinearLayout></LinearLayout><android.support.v4.view.ViewPagerandroid:id="@+id/viewPager"android:layout_width="match_parent"android:layout_height="wrap_content" ></android.support.v4.view.ViewPager></LinearLayout></span>

fragment1布局

<span style="font-size:18px;"><?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" ><ListView android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/listView1"></ListView>
</LinearLayout>
</span>

fragment2布局

<span style="font-size:18px;"><?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" ><ListViewandroid:id="@+id/listView2"android:layout_width="match_parent"android:layout_height="wrap_content" ></ListView></LinearLayout></span>

fragment3布局

<span style="font-size:18px;"><?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" ></LinearLayout></span>

list_item1适配器布局

<span style="font-size:18px;"><?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="horizontal" ><ImageViewandroid:id="@+id/img"android:layout_width="0dp"android:layout_weight="1"android:layout_height="100dp"android:src="@drawable/ic_launcher" /><LinearLayout android:layout_width="0dp"android:layout_weight="2"android:layout_height="100dp"android:orientation="vertical"><TextViewandroid:id="@+id/title1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="标题"android:textColor="#000"android:textSize="18sp" /><TextViewandroid:id="@+id/subTitle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="内容" /><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextView android:id="@+id/author1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="作者"/><TextView android:id="@+id/time1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="时间"/></LinearLayout></LinearLayout></LinearLayout></span>

list_item2适配器布局

<span style="font-size:18px;"><?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="horizontal" ><LinearLayout android:layout_width="0dp"android:layout_weight="2"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:id="@+id/title2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="标题"android:textColor="#000"android:textSize="18sp" /><TextViewandroid:id="@+id/subTitle2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="内容" /><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextView android:id="@+id/time2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="时间"/></LinearLayout></LinearLayout></LinearLayout></span>

****************************************记得加上网络权限************************

Android Activity中实现Fragment切换功能效果相关推荐

  1. android led闪烁功能,如何在Android应用层中制作一个LED指示灯效果

    如何在Android应用层中制作一个LED指示灯效果 发布时间:2020-12-08 16:12:59 来源:亿速云 阅读:86 作者:Leah 本篇文章给大家分享的是有关如何在Android应用层中 ...

  2. Android开发中横竖屏切换的问题以及系统提供的常用Activity

    Android开发中横竖屏切换的问题以及系统提供的常用Activity(总结) 2018年06月28日 16:18:45 北极熊的微笑 阅读数:72 横竖屏切换与状态保存的问题 前面也也说到了App横 ...

  3. android 自定义刷新控件,Android开发中MJRefresh自定义刷新动画效果

    有时候我们对自己开发的项目经常不满意,但是我们要达到自定义刷新动画的效果有一定的难度,别着急,下面爱站技术频道和大家分享Android开发中MJRefresh自定义刷新动画效果,一起来学习吧! [一] ...

  4. activity中获取fragment布局_安卓开发入门教程Fragment

    什么是Fragment Activity是整个看到的界面,而Activity则可以继续分割出多个Fragment. Fragment最初是为了在平板电脑充分利用空间,但是手机端也经常使用,主要目的是共 ...

  5. Android app应用多语言切换功能实现

    最近在做一个多语言切换的功能,类似于微信的语言切换,搜了下资料基本上都是以下这种: 1. 实现的效果 和微信类似,在设置界面打开切换语言的界面,选择语言后重启 HomeActivity,语言切换完成, ...

  6. android4.4.2fragment不显示,Android应用中使用Fragment组件的一些问题及解决方案总结...

    Fragment的主要意义就是提供与Activity绑定的生命周期回调. Fragment不一定要向Activity的视图层级中添加View. 当某个模块需要获得Activity的生命周期回调的时候, ...

  7. android l 效果,[原]Android L中水波纹点击效果的实现

    博主参加了2014 CSDN博客之星评选,帮我投一票吧. 前言 前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大家对view的 ...

  8. Android Activity内嵌Fragment,当Activity recreate时Fragment被添加多次,造成界面重叠

    由于某些原因,例如旋转屏幕,内存不足时,造成Activity被destroy() ,或者切换语言环境时,我们recreate()该Activity.这时,如果在该Activity的onCreate中未 ...

  9. Android L中水波纹点击效果的实现

    博主参加了2014 CSDN博客之星评选,帮我投一票吧. 点击给我投票 前言 前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大 ...

最新文章

  1. LeetCode上最难的链表算法题,没有之一
  2. Pytorch实践中的几个重要概念
  3. linux中-i选项的作用,linux – find中的-prune选项有什么作用?
  4. kaggle入门竞赛之泰坦尼克事故存活预测(xgboost方法)
  5. 算法/数据工程师必备技能
  6. c#开发中遇到System.AccessViolationException
  7. 用于将类型从double转换为int的C#程序
  8. 人工智能(10)---机器学习知识体系篇(初级篇,中级篇,高级篇)
  9. java web核心编程_JavaWeb核心编程之(三)Servlet配置
  10. hmcl启动器找不到java_HMCL启动器安装1.16.3版本出现以下问题
  11. 勒索病毒代码python_一份勒索病毒解密工具的整理汇总
  12. R语言| 缺失值判断
  13. 腾讯云短信服务(详细教程-Django框架、API接口)实现
  14. 我作为数字产品设计师的十大宠儿
  15. uni-app项目打包成apk(本地打包篇)
  16. 朝圣—保罗· 柯艾略~随记2017-12-6周三
  17. rust中slice panicked at 'byte index 5 is not a char boundary' 问题解决办法
  18. Proximal Algorithm 入门
  19. ARM开发工具历史及分类详解 (最详尽的区分和介绍ARM DS-5,RVD...
  20. 我的中国心-百家姓头像

热门文章

  1. Codeforces Contest 1138 problem B Circus —— 死亡1700,暴力
  2. 软件开发项目风险管理的几点体会
  3. wlan网页登录认证原理
  4. 2020中国项目经理视频直播大会成功举办
  5. 面试官:你连RESTful都不知道我怎么敢要你?
  6. win7怎么进入安全模式_win7进入安全模式教程
  7. 语义分割之边缘准确率提升
  8. ROS2编程基础课程--库
  9. 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:05 特征工程和NLP算法
  10. js 转化为实体符_js字符实体 转义字符串