listview in AlertDialog

来源:互联网 发布:软考程序员科目有哪些 编辑:程序博客网 时间:2024/06/05 16:59

看代码--


主要是AlertDialog 的一个builder.setView()方法



public class ListViewInDialog extends DialogFragment implementsandroid.widget.AdapterView.OnItemLongClickListener {private ListView mListView = null;private List<GuestRoom> guestRooms = null;private OnListViewItemClickListener listener;private String TAG = "ListViewInDialog";public ListViewInDialog(List<GuestRoom> guestRooms) {super();this.guestRooms = guestRooms;}@Overridepublic Dialog onCreateDialog(Bundle savedInstanceState) {// TODO Auto-generated method stubAlertDialog.Builder builder = new AlertDialog.Builder(getActivity());LayoutInflater inflater = getActivity().getLayoutInflater();View rootView = inflater.inflate(R.layout.coustomview_listviewdialog, null);mListView = (ListView) rootView.findViewById(R.id.listView_in_alertdialog);mListView.setAdapter(new GuestRoomListAdapter());mListView.setOnItemClickListener(onItemClickListener);builder.setView(rootView);return builder.create();}@Overridepublic void onAttach(Activity activity) {// TODO Auto-generated method stubsuper.onAttach(activity);try {listener = (OnListViewItemClickListener) activity;}catch (ClassCastException e){throw new ClassCastException(activity.toString()                    + " must implement OnListViewItemClickListener");}}private OnItemClickListener onItemClickListener = new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {Log.i(TAG, "OnItemClickListener,roomNO:"+guestRooms.get(position).getGr_roomNo());if(listener != null){listener.OnItemClick(guestRooms.get(position).getGr_roomNo());}}};public interface OnListViewItemClickListener {public void OnItemClick(String roomon);}//from GuestRoomsSearchActivitystatic class ViewHolder {TextView roomno;TextView roomfloor;}private class GuestRoomListAdapter extends BaseAdapter {public int getCount() {// TODO Auto-generated method stubreturn guestRooms.size();}public Object getItem(int position) {// TODO Auto-generated method stubreturn guestRooms.get(position);}public long getItemId(int position) {// TODO Auto-generated method stubreturn position;}public View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder;GuestRoom guestRoom = guestRooms.get(position);if (convertView == null) {viewHolder = new ViewHolder();convertView = LayoutInflater.from(getActivity()).inflate(R.layout.guestroomsearch_listview_cell, null);viewHolder.roomno = (TextView) convertView.findViewById(R.id.guestroomSearch_ListView_title);viewHolder.roomfloor = (TextView) convertView.findViewById(R.id.guestroomSearch_ListView_info);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}viewHolder.roomno.setText("房号:" + guestRoom.getGr_roomNo());viewHolder.roomfloor.setText("所在位置:"+ guestRoom.getGr_building().getGrb_descript() + "的第"+ guestRoom.getGr_floor() + "层");// textView.setText(guestRoom.getRoomStatusCode());return convertView;}}@Overridepublic boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {// TODO Auto-generated method stubreturn false;}}


0 0
原创粉丝点击