在ListView中显示分类字母标题

在ListView中显示分类字母标题
-----------------------------------
【步骤】
1. 将ListView的数据源进行排序
2. 修改模板,添加显示分类字母标题
3. 在Adapter中,设置显示每个列表项的分类字母
4. 在Adapter中,判断每个列表项是否有必要显示分类字母
【实现】
1. 排序:使用Collections.sort()方法可以对List集合自动排序,但是,List集合中的数据类型必须实现Comparable接口
2. 显示或者隐藏:任何View对象都可以通过setVisibility()方法设置可见性,取值为View.VISIBLE时正常可见,取值为View.GONE时完全不可见,取值为View.INVISIBLE时控件内容不可见。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将选的图片显示ListView,你需要完成以下步骤: 1. 创建一个ListView控件来显示图片,可以使用GridView或者其他适合的布局。 2. 创建一个自定义适配器,用于将图片显示ListView。在适配器,你需要实现getView()方法,用于创建每个列表项的视图。 3. 在Activity或Fragment,处理图片选事件。当用户选一张图片时,你需要将这张图片添加到适配器的数据集。 4. 刷新适配器,以便ListView能够显示新的图片。 下面是一个简单的示例代码,可以帮助你完成以上步骤: 1. 创建一个ListView控件 ```xml <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 2. 创建一个自定义适配器 ```java public class ImageAdapter extends BaseAdapter { private Context mContext; private List<Bitmap> mImages; public ImageAdapter(Context context) { mContext = context; mImages = new ArrayList<>(); } public void addImage(Bitmap image) { mImages.add(image); notifyDataSetChanged(); } @Override public int getCount() { return mImages.size(); } @Override public Object getItem(int position) { return mImages.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(300, 300)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); } else { imageView = (ImageView) convertView; } imageView.setImageBitmap(mImages.get(position)); return imageView; } } ``` 3. 在Activity或Fragment处理图片选事件 ```java public class MainActivity extends AppCompatActivity { private ListView mListView; private ImageAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mListView = findViewById(R.id.list_view); mAdapter = new ImageAdapter(this); mListView.setAdapter(mAdapter); // 处理图片选事件 findViewById(R.id.btn_add_image).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); startActivityForResult(intent, 1); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1 && resultCode == RESULT_OK) { Uri uri = data.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri); mAdapter.addImage(bitmap); } catch (IOException e) { e.printStackTrace(); } } } } ``` 在上面的代码,我们使用了一个Button来模拟图片选事件,当用户点击这个Button时,会启动一个系统的图片选择器。当用户选择一张图片后,我们将这张图片添加到适配器,并调用notifyDataSetChanged()方法刷新适配器。这样,ListView就能够显示新的图片了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值