功能要求:点击界面上一个旋钮,弹框显示ListView列表,然后选中后弹框关闭,页面内容发生变化
功能要求:点击界面上一个按钮,弹框显示ListView列表,然后选中后弹框关闭,页面内容发生变化
本来用的是spinner里面加载ListView的,因为想通过点击按钮显示弹框ListView,因为通过按钮不能直接触发Spinner的OnItemSelected事件,所以想直接去掉Spinner,直接按钮点击显示弹框ListView,附上一段代码,求指点
这部分是自定义的spinner,可以在布局文件里面直接引用路径的
弹框部分继承AlertDialog
或者哪位大神有类似的思路或例子么。
------解决思路----------------------
PopupWindow demo
http://blog.****.net/shenyuanqing/article/details/48136639
本来用的是spinner里面加载ListView的,因为想通过点击按钮显示弹框ListView,因为通过按钮不能直接触发Spinner的OnItemSelected事件,所以想直接去掉Spinner,直接按钮点击显示弹框ListView,附上一段代码,求指点
这部分是自定义的spinner,可以在布局文件里面直接引用路径的
public class CustomerSpinner extends Spinner implements OnItemClickListener {
public static SelectDialog dialog = null;
private ArrayList<String> list;//ArrayList<String> list存储所要显示的数据
public static String text;
public CustomerSpinner(Context context, AttributeSet attrs) {
super(context, attrs);
}
//如果视图定义了OnClickListener监听器,调用此方法来执行
@Override
public boolean performClick() {
Context context = getContext();
final LayoutInflater inflater = LayoutInflater.from(getContext());
final View view = inflater.inflate(R.layout.formcustomspinner, null);
final ListView listview = (ListView) view
.findViewById(R.id.formcustomspinner_list);
ListviewAdapter adapters = new ListviewAdapter(context, getList()); //自定义的Adapter
listview.setAdapter(adapters);
listview.setOnItemClickListener(this);
dialog = new SelectDialog(context, R.style.dialog);//创建Dialog并设置样式主题
LayoutParams params = new LayoutParams(650, LayoutParams.FILL_PARENT);
dialog.setCanceledOnTouchOutside(true);// 设置点击Dialog外部任意区域关闭Dialog
dialog.show();
dialog.addContentView(view, params);
return true;
}
@Override
public void onItemClick(AdapterView<?> view, View itemView, int position,
long id) {
setSelection(position);
setText(list.get(position));
if (dialog != null) {
dialog.dismiss();
dialog = null;
}
}
public ArrayList<String> getList() {
return list;
}
public void setList(ArrayList<String> list) {
this.list = list;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
弹框部分继承AlertDialog
public class SelectDialog extends AlertDialog {
public SelectDialog(Context context, int theme) {
super(context, theme);
}
public SelectDialog(Context context) {
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.slt_cnt_type);
}
}
或者哪位大神有类似的思路或例子么。
------解决思路----------------------
PopupWindow demo
http://blog.****.net/shenyuanqing/article/details/48136639