Android 显示图像缩略图并单击侦听器

Android 显示图像缩略图并单击侦听器,android,image,listview,onitemclicklistener,Android,Image,Listview,Onitemclicklistener,我是这个android应用程序开发的新手,目前,我正在创建一个应用程序,该应用程序将在我的活动中从图库中获取一个图像uri到列表视图。我对此没有异议。我只想添加一个功能,当我从listview中单击图像uri时,将显示该图像uri的位图缩略图。这是我的密码: ListView lv; ArrayList<Uri> array_list = new ArrayList<Uri>(); ArrayAdapter<Uri> array_adapter;

我是这个android应用程序开发的新手,目前,我正在创建一个应用程序,该应用程序将在我的活动中从图库中获取一个图像uri到列表视图。我对此没有异议。我只想添加一个功能,当我从listview中单击图像uri时,将显示该图像uri的位图缩略图。这是我的密码:

     ListView lv;
 ArrayList<Uri> array_list = new ArrayList<Uri>();
 ArrayAdapter<Uri> array_adapter;

 final int RQS_LOADIMAGE = 0;

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

    array_adapter = new ArrayAdapter<Uri>(MainActivity.this, android.R.layout.simple_list_item_1, array_list);
    lv = (ListView)findViewById(R.id.list);
    lv.setAdapter(array_adapter);

}

    public void btn_ai(View view) {
       Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
       startActivityForResult(intent, RQS_LOADIMAGE);

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == RESULT_OK){

            switch(requestCode){

            case RQS_LOADIMAGE:
                Uri imageUri = data.getData();
                array_list.add(imageUri);
                array_adapter.notifyDataSetChanged();
                break; 
            }
        }
    }
ListView-lv;
ArrayList数组_list=新建ArrayList();
阵列适配器阵列适配器;
最终整数RQS_LOADIMAGE=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
array_adapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,array_list);
lv=(ListView)findViewById(R.id.list);
lv.setAdapter(阵列_适配器);
}
公共无效btn_ai(视图){
Intent Intent=新Intent(Intent.ACTION\u PICK,android.provider.MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI);
startActivityForResult(意向、RQS_LOADIMAGE);
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(resultCode==RESULT\u OK){
开关(请求代码){
案例RQS_LOADIMAGE:
Uri imageUri=data.getData();
数组_list.add(imageUri);
数组_适配器。notifyDataSetChanged();
打破
}
}
}

}

首先,您需要像下面这样设置一个视窗夹:

遵循该示例,然后使用ViewHolder和wallah设置OnClickListener。然后,您可以设置方法()以启动带有位图等的新活动

编辑:最好使用CustomAdapter,因为这样可以实现ViewHolder。请看这些:


如何将在listview上选择的图像放入viewholder图标?您是否创建了单独的CustomAdapter?