弹出一个半透明的listview dialog:
public class MySingleSelDialog extends Dialog{ private ArrayList<Restaurant> restaurants; private String title; private Context context; private ListView lv_list; private selRestaurantApdater apdater; TextView tv_title; Button btn_cancel; public MySingleSelDialog(Context context,ArrayList<Restaurant> restaurants,String title) { super(context); this.context = context; this.restaurants = restaurants; this.title = title; } public void setTitle(String title){ this.title = title; tv_title.setText(title); } /* (non-Javadoc) * @see android.app.Dialog#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.single_sel_dialog); lv_list = (ListView) findViewById(R.id.lv_list); tv_title = (TextView) findViewById(R.id.tv_title); btn_cancel = (Button) findViewById(R.id.btn_cancel); getWindow().setBackgroundDrawableResource(android.R.color.transparent); btn_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dismiss(); } }); apdater = new selRestaurantApdater(getContext(), restaurants); lv_list.setAdapter(apdater); lv_list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(getContext(), restaurants.get(position).getId().toString(), Toast.LENGTH_SHORT).show(); } }); } }
public class selRestaurantApdater extends BaseAdapter { private ArrayList<Restaurant> restaurants; private LayoutInflater inflater; public selRestaurantApdater(Context context,ArrayList<Restaurant> restaurants) { this.restaurants = restaurants; this.inflater = LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return restaurants.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { Holder viewHolder; if (convertView == null) { convertView = inflater.inflate(R.layout.textview1, null); viewHolder = new Holder(); viewHolder.tView = (TextView) convertView.findViewById(R.id.textView); viewHolder.tView.setText(restaurants.get(position).getName()); convertView.setTag(viewHolder); } else { viewHolder = (Holder) convertView.getTag(); } return convertView; } class Holder { TextView tView; } }
测试:
public class testDialog extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); ArrayList<Restaurant> restaurants = new ArrayList<Restaurant>(); for (int i=0;i<5;i++) { Restaurant restaurant = new Restaurant(); restaurant.setId(i); restaurant.setName("name"+i); restaurants.add(restaurant); } MySingleSelDialog mdialog = new MySingleSelDialog(this, restaurants,"选择城市"); mdialog.show(); }
相关推荐
在本项目中,“自定义Dialog加ListView”就是将`Dialog`与`ListView`结合,创建一个可以展示列表数据的弹出窗口,以提供更加丰富的用户交互体验。 首先,我们需要理解`Dialog`的基本用法。在Android中,我们可以...
在Android开发中,自定义Dialog和ListView的适配是常见的需求,特别是在创建具有独特用户体验的应用时。本项目“android自定义dialog+listview自适应屏幕显示”主要关注这两个方面的实现,确保界面在不同屏幕尺寸和...
在Android开发中,自定义Dialog并使其嵌套ListView以实现屏幕自适应是一项常见的需求。这涉及到Android UI设计、自定义视图以及ListView的适配器机制。以下将详细阐述这个主题的相关知识点。 首先,让我们理解...
要实现一个自定义Dialog嵌套ListView,我们首先需要创建一个包含ListView的XML布局文件。这个布局通常会包含一个ListView以及其他可能的组件,如标题、按钮等。例如: ```xml android:id="@+id/dialog_title" ...
本文将深入探讨如何实现一个自定义Dialog来展示ListView,并且允许用户通过长按来删除ListView中的item数据。 首先,我们需要创建自定义Dialog的布局文件。在res/layout目录下创建一个新的XML文件,例如`dialog_...
总结起来,这个示例展示了如何在Android应用中创建一个具有多选功能的自定义Dialog,通过Dialog、ListView和CheckBox的组合实现用户交互。这种功能在很多场景下都很实用,比如选择联系人、文件或者其他任何需要用户...
本文将详细讲解如何在自定义Dialog中实现ListView的单选和多选功能。 首先,我们需要创建一个自定义Dialog。这通常通过继承`AlertDialog.Builder`或直接使用`DialogFragment`来实现。在`AlertDialog.Builder`中,...
以上就是关于“android dialog嵌套ListView”实现的基本步骤,包括创建自定义布局、适配器、设置点击事件以及在`Dialog`中显示`ListView`。通过这种方式,我们可以在`Dialog`中展示丰富的列表数据,并允许用户进行...
继承AppCompatDialogFragment自定义dialog 弹框(带悬浮效果),ListView绑定商品信息和图片,点击商品图片添加购物车,弹出悬浮框,继承自AppCompatDialogFragment基类的自定义dialog 弹框。源码可直接调试。大家...
在Android开发中,自定义Dialog是一种常见的用户界面设计方式,它可以提供更加个性化和丰富的交互体验。自定义Dialog不仅能够满足基本的提示功能,还可以根据应用的风格和需求进行定制,从而提升用户体验。以下是对...
通过这种方式,我们可以实现一个既美观又实用的自定义Dialog,其中嵌入的ListView使得用户可以方便地浏览和选择多个项目。这样的设计提高了应用程序的用户体验,也展示了Android开发中的自定义组件能力。
这个“Android高级应用源码-自定义列表选择Dialog,适用网络请求数据.zip”文件提供了一个实例,展示了如何创建一个可以加载网络数据并展示在列表中的自定义Dialog。下面将详细阐述相关知识点: 1. **自定义Dialog*...
在Android中,系统的AlertDialog或ProgressDialog等预定义的Dialog可能无法满足所有设计需求,因此我们需要自定义Dialog以实现更复杂的功能。自定义Dialog通常涉及到创建一个新的布局文件,然后在代码中实例化并设置...
总结来说,这个自定义Dialog项目展示了如何结合ListView和枚举来实现一个具有交互性的弹出窗口。通过适配器处理数据,枚举增强代码的可读性,以及利用SharedPreferences保存用户设置,我们构建了一个功能齐全且用户...
不过,自定义Dialog的潜力远不止于此,你还可以实现更复杂的逻辑,比如添加自定义动画、嵌入复杂的视图(如ListView或RecyclerView)等。在实际项目中,可以根据需求进行灵活调整和扩展。 在"StudyDialog"这个...
在Android开发中,自定义的ListView结合RadioButton显示对话框列表数据是一种常见的用户界面设计,用于在弹出的对话框中展示一系列可选的列表项。这样的设计能够为用户提供清晰的选择方式,同时保持屏幕的整洁。以下...
自定义的dialog 运用了listview作为弹框的主显示 选择项可多可少灵活方便 带有记住上次选择项的功能 运用枚举填补数据.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
在标准的Android SDK中,Dialog的样式相对固定,但为了提供更好的用户体验和符合应用独特的设计风格,开发者经常需要自定义Dialog的外观和行为。本教程将深入讲解如何创建一个灵活、自定义的Dialog列表,可以根据...
本文将深入探讨如何在Android中自定义一个列表选择Dialog,并结合网络请求数据来实现更丰富的功能。 首先,我们需要了解Dialog的基本用法。在Android SDK中,Dialog类是基于Window的,可以创建一个浮动窗口来显示...
本示例项目"MDStudySamples-master"聚焦于几个关键组件和交互效果,包括顶部和底部标签导航、自定义Dialog、Snackbar、Toast、悬浮按钮(FloatingActionButton)、图片伸缩效果以及消息发送和登录界面的设计。...