说明:碰到一个需求,左边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();