listview和fragment切换页面

这篇博客详细介绍了在Android应用中如何实现在左边ListView选择项后,右侧切换显示不同的Gridview+Fragment的交互效果。主要内容包括主界面设计、Fragment的使用、适配器的编写、用户类的定义以及各种布局文件的配置。并提供了实现效果的截图。
摘要由CSDN通过智能技术生成

说明:碰到一个需求,左边listview,右边是gridview+fragment,

(1)主界面

package com.example.listfragment;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
    private ListView mListView;
    private FrameLayout mFrame;
    private List<User> mList = new ArrayList<>();  //左侧列表list
    private List<Fragment> mFragmentList = new ArrayList<>();
    private FragmentManager supportFragmentManager = getSupportFragmentManager();
    private MyListViewApader apader;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initData();
    }

    private void initView() {
        mListView = (ListView) findViewById(R.id.mListView);
        mFrame = (FrameLayout) findViewById(R.id.mFrame);
    }

    private void initData() {
        //左边listView集合添加数据,适配器适配
        listViewData();
        //添加fragment,复用fragment
        addFragment();
        //默认选中ListView第一条item
        replese(0);
        //ListView第一条item的Select为true
        mList.get(0).setSelect(true);
        //listView点击事件
        mListView.setOnItemClickListener(this);
    }


    // 需要添加的几种农场管理操作
    private void listViewData() {
        //标题list
        mList.add(new User("土地管理"));
        mList.add(new User("生产材料购买"));
        mList.add(new User("配肥和配药管理"));
        mList.add(new User("生产计划管理"));
        mList.add(new User("农作记录管理"));
        mList.add(new User("实际采收管理"));
        mList.add(new User("提醒管理"));
        mList.add(new User("预计可采收量"));
        mList.add(new User("蔬菜经营盈亏"));

        //适配器适配
        apader = new MyListViewApader(mList, this);
        mListView.setAdapter(apader);
    }


    private void addFragment() {
        FragmentTransaction transaction = supportFragmentManager.beginTransaction();
     
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值