样图
注意点
点击每一项,弹出一个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 (寒光博客)”原创,转载请保留文章出处。
本文地址:https://dxoca.cn/StudyNotes/342.html 百度已收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
宝贝为什么不把layout写一下方便我抄