寒光博客

【Android】ListView简单练习。配合toast添加图片
样图 注意点 点击每一项,弹出一个toast 并带对应的图片: 1.调用图片 在onItemClick方法中有传...
扫描右侧二维码阅读全文
28
2020/04

【Android】ListView简单练习。配合toast添加图片

样图

QQ截图20200428232800.png

注意点

点击每一项,弹出一个toast 并带对应的图片:

1.调用图片

在onItemClick方法中有传入 long型 id
id便是list从上到下的索引0~x
所以我把多张图片用全局变量 数组 imgRes存起来调用。

2.和toast一起显示图片

创建一个LinearLayout容器(对象ll)
Toast.makeText做出文本吐司
再创建一个图片对象,把imgRes[(int) id]图片放入对象源
把文本吐司和图片View都添加到对象ll
再把toast的Vitw替换为ll

myToast.setView(ll);

代码

package cn.dxoca.listview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.*;
//import android.widget.ArrayAdapter;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    ListView list;
    String[] cat = {"暹罗猫", "布偶猫暹罗猫", "苏格兰折耳猫", "英国短毛猫", "波斯猫", "俄罗斯蓝猫", "美国短毛猫", "异国短毛猫", "挪威森林猫", "孟买猫", "缅因猫", "寒光"};
    int[] imgRes = {R.drawable.c_1, R.drawable.c_2, R.drawable.c_3, R.drawable.c_4, R.drawable.c_5,
            R.drawable.c_6, R.drawable.c_7, R.drawable.c_8, R.drawable.c_9, R.drawable.c_10, R.drawable.c_11, R.drawable.c_4};
    Toast myToast;

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

        list = findViewById(R.id.list);
        ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, cat);
        list.setAdapter(myAdapter);
        //列表项目监听器
        list.setOnItemClickListener((new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String str = parent.getItemAtPosition(position).toString();
                if (myToast != null) {
                    myToast.cancel();
                }

                //创建一个LinearLayout容器 汇集 text和img 也就是 toast的布局
                LinearLayout ll = new LinearLayout(MainActivity.this);
                ll.setOrientation(LinearLayout.VERTICAL);//View垂直排列
                ll.setGravity(Gravity.CENTER_VERTICAL);//居中

                myToast = Toast.makeText(MainActivity.this, id + ":" + str, Toast.LENGTH_LONG);
                //获取带提示信息的视图
                View toastView = myToast.getView();

                //创建图片
                ImageView img = new ImageView(MainActivity.this);
                img.setImageResource(imgRes[(int) id]);//imgRes调用

                ll.addView(img);
                ll.addView(toastView);

                myToast.setView(ll);
                myToast.show();
            }
        }));


    }
}
本文作者:Author:     文章标题:【Android】ListView简单练习。配合toast添加图片
本文地址:https://dxoca.cn/StudyNotes/342.html       百度已收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
Last modification:May 19th, 2020 at 12:25 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment