AlertDialog和ListView的使用

一、AlertDialog

1、创建AlertDialog对话框的步骤

  • 1、调用AlertDialog的静态内部类Builder创建AlertDialog.Builder的对象。
  • 2、调用AlertDialog.Builder的setTitle()和setIcon()方法分别设置AlertDialog对话框的标题名称和图标。
  • 3、调用AlertDialog.Builder的setMessage()、setSingleChoiceItems()或者setMultiChoiceItems()方法设置AlertDialog对话框的内容为简单文本、单选列表或者为多选列表。
  • 4、调用AlertDialog.Builder的setPositiveButton()和setNegativeButton()方法设置AlertDialog对话框的确定和取消按钮。
  • 5、调用AlertDialog.Builder的create()方法创建AlertDialog对象。
  • 6、调用AlertDialog对象的show()方法显示该对话框。
  • 7、调用AlertDialog对象的dismiss()方法取消该对话框。

2、案例演示

在这里插入图片描述

package com.uos.commondialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    public void onBackPressed() {
        //super.onBackPressed();
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("普通对话框");
        builder.setIcon(R.drawable.ic_launcher_background);
        builder.setMessage("是否确定退出应用");
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int i) {
                dialog.dismiss();
                finish();
            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int i) {
                dialog.dismiss();
            }
        });
        AlertDialog dialog = builder.create();
        dialog.show();
    }
}

3、效果展示

在这里插入图片描述
点击确定按钮直接返回主界面,点击取消按钮回到当前界面

二、ListView的使用

1、购物商城案例演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package com.uos.listview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private String[] titles = { "桌子", "苹果", "蛋糕", "线衣", "猕猴桃",
            "围巾"};
    private String[] prices = { "1800元", "10元/kg", "300元", "350元", "10元/kg",
            "280元"};
    //图片集合
    private int[] icons = {R.drawable.table,R.drawable.apple,R.drawable.cake,
            R.drawable.wireclothes,R.drawable.kiwifruit,R.drawable.scarf};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView lv = findViewById(R.id.lv);
        lv.setAdapter(new MyBaseAdapter());
    }

    class MyBaseAdapter extends BaseAdapter {

        @Override
        public int getCount() {//返回ListView中元素的个数
            return titles.length;
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) //生成每个元素
        {
            // View convertView 保存将被滑出屏幕的item
            ViewHolder holder = null;
            if (convertView == null)//还没有元素滑出手机屏幕
            {
                convertView = View.inflate(MainActivity.this, R.layout.list_item, null);
                holder = new ViewHolder();
                holder.iv = convertView.findViewById(R.id.iv);//注意指定查找范围
                holder.title = convertView.findViewById(R.id.title);
                holder.price = convertView.findViewById(R.id.price);
                convertView.setTag(holder);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }
            holder.iv.setBackgroundResource(icons[position]);
            holder.title.setText(titles[position]);
            holder.price.setText(prices[position]);
            return convertView;
        }
    }
    class ViewHolder {
        ImageView iv;
        TextView title, price;
    }

}

2、效果图

在这里插入图片描述

三、完整代码地址

发布了135 篇原创文章 · 获赞 41 · 访问量 4249

猜你喜欢

转载自blog.csdn.net/weixin_41842236/article/details/105087398
今日推荐