package net.dev123.yibo.widget;
import net.dev123.yibo.R;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.PopupWindow;
public class ListChooseDialog {
private Context context;
private View parent;
private PopupWindow listWindow;
private ListView lvItem;
private ListAdapter listAdapter;
private OnItemClickListener itemClickListener;
public ListChooseDialog(Context context, View parent) {
this.context = context;
this.parent = parent;
initComponents();
}
private void initComponents() {
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView = inflater.inflate(R.layout.widget_dialog_list_choose, null);
lvItem = (ListView)contentView.findViewById(R.id.lvItem);
View emptyView = contentView.findViewById(R.id.llLoadingView);
lvItem.setEmptyView(emptyView);
listWindow = new PopupWindow(contentView, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
listWindow.setBackgroundDrawable(new ColorDrawable(Color.argb(100, 158, 158, 158)));
listWindow.setFocusable(true);
listWindow.setOutsideTouchable(true);
listWindow.setAnimationStyle(android.R.anim.fade_in);
}
public void show() {
listWindow.showAtLocation(parent, Gravity.CENTER, 0, 0);
}
public void dismiss() {
listWindow.dismiss();
}
public boolean isShowing() {
return listWindow.isShowing();
}
public ListAdapter getListAdapter() {
return listAdapter;
}
public void setListAdapter(ListAdapter listAdapter) {
this.listAdapter = listAdapter;
if (listAdapter != null) {
lvItem.setAdapter(listAdapter);
}
}
public OnItemClickListener getItemClickListener() {
return itemClickListener;
}
public void setItemClickLitener(OnItemClickListener itemClickListener) {
if (itemClickListener == null) {
return;
}
this.itemClickListener = itemClickListener;
lvItem.setOnItemClickListener(itemClickListener);
}
}