Android Listview对话框

MainActivity.java

package com.example.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ListView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		Button btn=(Button)findViewById(R.id.button1);
		btn.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				List<Map<String, Object>> lst_data = new ArrayList<Map<String, Object>>();

				for(int i=0;i<20;i++){
					Map<String, Object> map = new HashMap<String, Object>();
					map.put("Name", "内容"+i);
					lst_data.add(map);
				}
				
				
				ListView lst_category = new ListView(MainActivity.this);
				
				DeleteCategoryAdapter adapter = new DeleteCategoryAdapter(
						MainActivity.this, lst_data);
				lst_category.setAdapter(adapter);

				AlertDialog alertDialog = new AlertDialog.Builder(
						MainActivity.this).create();
				alertDialog.setTitle("修改");
				alertDialog.setIcon(android.R.drawable.ic_dialog_info);
				alertDialog.setView(lst_category);
				alertDialog.setButton(Dialog.BUTTON_POSITIVE, "正确",
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface dialog,
									int which) {
								// TODO Auto-generated method stub

							}
						});
				alertDialog.setButton(Dialog.BUTTON_NEGATIVE, "取消",
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface dialog,
									int which) {
								// TODO Auto-generated method stub

							}
						});
				alertDialog.show();
				alertDialog.getWindow().clearFlags(
						WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}


DeleteCategoryAdapter.java

package com.example.test;

import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;

public class DeleteCategoryAdapter extends BaseAdapter {

	private Context context;
	private List<Map<String, Object>> listItems;
	private LayoutInflater listContainer;

	public DeleteCategoryAdapter(Context context,
			List<Map<String, Object>> listItems) {
		this.context = context;
		// create view and settings context
		listContainer = LayoutInflater.from(context);
		this.listItems = listItems;
	}

	// Custom widget
	public final class ListItemView {
		public TextView txtV_category;
		public CheckBox ckb_category;
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return listItems.size();
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		if (position < listItems.size()) {
			return listItems.get(position);
		}
		return null;
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		ListItemView listItemView = new ListItemView();
		if (convertView == null) {
			convertView = listContainer.inflate(R.layout.show_deletecategory,
					null);
			listItemView.txtV_category = (TextView) convertView
					.findViewById(R.id.deletecategory_txtV_category);
			listItemView.ckb_category = (CheckBox) convertView
					.findViewById(R.id.deletecategory_ckb_select);

			convertView.setTag(listItemView);
		} else {
			listItemView = (ListItemView) convertView.getTag();
		}
		listItemView.txtV_category.setText((String) listItems.get(position)
				.get("Name"));
		listItemView.ckb_category.setTag((String) listItems.get(position).get(
				"ID"));
		return convertView;
	}

}


 源码下载:http://pan.baidu.com/share/link?shareid=349842&uk=1796216265


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值