public class Main extends Activity {
ListView list;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = (ListView) findViewById(R.id.lv);
MyAdapter adapter = new MyAdapter(this);
list.setAdapter(adapter);
list.setItemsCanFocus(false);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
ViewHolder holder = (ViewHolder) view.getTag();
String string = holder.file_name.getText().toString();
holder.download_btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(Main.this, "123", 2000).show();
}
});
Toast.makeText(Main.this, string, 2000).show();
}
});
}
}
public class MyAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private List<Map<String, Object>> mData;
public MyAdapter(Context context) {
mInflater = LayoutInflater.from(context);
init();
} // 初始化
private void init() {
mData = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("file_name", "附件一");
map.put("file_time", "2011/07/09");
mData.add(map);
map = new HashMap<String, Object>();
map.put("file_name", "附件二");
map.put("file_time", "2011/07/09");
mData.add(map);
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
// convertView为null的时候初始化convertView。
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.list, null);
holder.file_name = (TextView) convertView
.findViewById(R.id.file_name);
holder.file_time = (TextView) convertView
.findViewById(R.id.file_time);
holder.download_btn = (Button) convertView
.findViewById(R.id.download_btn);
holder.download_btn.setFocusable(false);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.file_name.setText(mData.get(position).get("file_name").toString());
holder.file_time.setText(mData.get(position).get("file_time").toString());
final String string = mData.get(position).get("file_name").toString();
holder.download_btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
System.out.println(string);
}
});
return convertView;
}
public final class ViewHolder {
public TextView file_name;
public TextView file_time;
public Button download_btn;
}
}
- 大小: 19.1 KB
- 大小: 6.9 KB
分享到:
相关推荐
通过以上步骤,我们成功地将ListView和Button结合在一起,实现了点击ListView条目和Button时的不同操作。需要注意的是,当ListView中的条目复用时(即convertView不为null),我们应该确保每次`getView()`方法调用时...
3. **使用ItemClick和ItemLongClick事件**:如果Button的点击事件是作为ListView条目的一个特殊操作,可以考虑将它整合到ListView的ItemClickListener或ItemLongClickListener中。通过判断点击位置来确定是否执行...
本文将详细介绍如何解决Android listview和button点击事件冲突。 首先,我们要理解这个问题的根本原因。当在ListView的Item布局中包含一个Button时,ListView本身也有点击监听器,而Button也有自己的点击监听器。...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的高效性和可滚动性使得它在显示数据集合时...通过结合Button或其他交互元素,ListView可以提供丰富的用户体验,实现各种复杂的业务逻辑。
在ListView中嵌入Button,可以创建丰富的交互式界面,例如QQ空间的说说评论和点赞功能。实现ListView中Button的点击事件,主要涉及到事件监听和数据绑定的概念。下面我们将详细探讨这两种常见的实现方式:接口回调和...
它与BaseAdapter结合使用,可以实现数据的动态加载和界面的复用。在这个场景中,我们要讨论的重点是如何在ListView中的每个Item(即列表项)上添加Button,并处理这些Button的点击事件,以便根据点击的Button获取...
综上所述,"自动隐藏和显示标题栏ListView"技术涉及到了手势识别、动画设计、布局管理和组件封装等多个方面,通过巧妙地结合这些技术,我们可以为用户提供更加沉浸式和流畅的交互体验。在实际开发中,需要根据项目的...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。...在ListClickTest这个示例项目中,可能就包含了这些技术的实现,可以进一步学习和研究,以加深对ListView与Button交互的理解。
综上所述,这个“android SQlite、listView中加按钮的使用”的项目涵盖了Android开发中的重要知识点,包括SQLite数据库的管理和操作,ListView的自定义适配器及事件监听,以及sharedPreferences的使用。这些技术对于...
在本教程中,我们将探讨如何在Android系统中利用ListView结合单选按钮(RadioButton)来实现一个功能性的选择列表,以及如何设置默认选中项。 首先,我们需要了解ListView的基本用法。ListView是Android SDK中的一...
总之,Android中的ListView结合自定义Adapter和Button控件可以创建出丰富的用户界面,用户不仅可以查看列表数据,还能直接在列表项内进行交互。通过理解并实践这些概念,开发者能够更灵活地构建Android应用程序的UI...
在Android应用开发中,消息提示和列表组件是两个非常重要的元素。它们帮助用户与应用程序进行交互,提供反馈信息,以及展示大量数据。...在实际开发中,还可以结合网络请求、数据库等,实现更丰富的功能。
简单说下这个demo的实现,点击一个button,弹出一个类似spinner的界面,包含一个edittext和listview,当在输入框中键入关键字时,下面的listview所显示的数据可以随之进行筛选,点击item,将所选值返回给button。...
总结来说,通过结合QSqlQueryModel和QML的ListView,我们可以构建一个功能丰富的数据可视化界面,实现实时的数据库操作。这种方式充分利用了Qt的跨平台特性和QML的声明式编程,使得数据库操作与UI设计融为一体,提高...
在C#编程中,ListView控件是一个非常常用的组件,它允许开发者在窗口或者对话框上显示数据列表。这个控件可以展示多列数据,...在实际开发中,应结合具体业务需求,灵活运用ListView的各种特性,以提供最佳的用户体验。
这涉及到使用DrawBitmap函数绘制不同状态下的图片,并可能结合DrawText方法添加文本。同时,要处理WM_PAINT消息以确保控件的正确绘制,以及WM_MOUSEHOVER和WM_LBUTTONDOWN消息来检测用户的交互。 接下来,我们讨论...
ListView通常结合Adapter使用,Adapter是连接数据源和视图的桥梁。开发者需要创建一个继承自BaseAdapter的自定义Adapter,重写其中的方法如`getCount()`(返回数据项的数量)、`getItem()`(获取指定位置的数据项)...
通过以上步骤,我们就能在C# Winform应用中实现一个功能丰富的导航菜单,结合`ListView`、`Button`、`UserControl`和`ImageList`的优势,提供直观、易用的用户界面。这不仅增强了用户交互体验,也为软件开发带来了更...
在Android应用开发中,ListView是一种常用的控件,用于展示大量数据列表。它的可滚动特性使得它在...在实际项目中,结合ListViewHeader文件中的示例代码,开发者可以更好地理解和掌握这一技术,提升应用的用户体验。
总结来说,"带按键可点击的listview"示例展示了如何在ListView中结合数据和操作,使每一项都有一个可点击的按键。这涉及到自定义Adapter、设置点击监听器以及优化ListView的性能。对于Android开发者来说,理解和掌握...