要通过左右滑动逐一浏览列表,可以使用ViewPager和FragmentPagerAdapter来实现。下面是一个简单的示例代码:
public class ItemFragment extends Fragment {
private static final String ARG_INDEX = "index";
private String[] items;
private int index;
public static ItemFragment newInstance(int index, String[] items) {
ItemFragment fragment = new ItemFragment();
Bundle args = new Bundle();
args.putInt(ARG_INDEX, index);
fragment.setArguments(args);
fragment.setItems(items);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_item, container, false);
TextView textView = view.findViewById(R.id.textView);
textView.setText(items[index]);
return view;
}
private void setItems(String[] items) {
this.items = items;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
index = getArguments().getInt(ARG_INDEX);
}
}
}
public class MyPagerAdapter extends FragmentPagerAdapter {
private String[] items;
public MyPagerAdapter(FragmentManager fragmentManager, String[] items) {
super(fragmentManager);
this.items = items;
}
@Override
public Fragment getItem(int position) {
return ItemFragment.newInstance(position, items);
}
@Override
public int getCount() {
return items.length;
}
}
public class MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private MyPagerAdapter pagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] items = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};
viewPager = findViewById(R.id.viewPager);
pagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), items);
viewPager.setAdapter(pagerAdapter);
}
}
这样,就可以通过左右滑动来逐一浏览列表的每一项了。