文章目录
一、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;
}
}