import java.util.ArrayList; import com.ql.adapter.DeletableAdapter; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ListView; public class Test_4_Activity extends Activity { private DeletableAdapter adapter; private ArrayList<String> text; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test4); ListView list_view = (ListView) findViewById(R.id.list_view); text = new ArrayList<String>(); text.add("111"); text.add("222"); text.add("333"); text.add("444"); // 初始化数据结束 adapter = new DeletableAdapter(this, text); list_view.setAdapter(adapter); // list_view.setSelector(R.drawable.list_select_color); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub text.add("10000"); adapter.notifyDataSetChanged(); } }); } }
import java.util.ArrayList; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.ql.activity.R; public class DeletableAdapter extends BaseAdapter { private Context context; private ArrayList<String> text; public DeletableAdapter(Context context, ArrayList<String> text) { this.context = context; this.text = text; } @Override public int getCount() { // TODO Auto-generated method stub return text.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return text.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub final int index = position; View view = convertView; if (view == null) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.row_simple_list_item_2, null); } final TextView textView = (TextView) view .findViewById(R.id.simple_item_1); textView.setText(text.get(position)); final ImageView imageView = (ImageView) view .findViewById(R.id.simple_item_2); imageView.setBackgroundResource(android.R.drawable.ic_delete); imageView.setTag(position); imageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub text.remove(index); notifyDataSetChanged(); Toast.makeText(context, textView.getText().toString(), Toast.LENGTH_SHORT).show(); } }); return view; } }
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/simple_item_2" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true" android:focusable="false" /> <TextView android:id="@+id/simple_item_1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" /> </RelativeLayout>
这里要实现点击ListView里面的一个控件而不是选中一行。
最好重写Adapter,而不要使用其自带的SimpleAdapter,否则该子控件的事件就不那么好处理了!
相关推荐
总的来说,实现“左滑显示删除按钮,点击按钮删除ListView的item条目”的功能,涉及到Android手势识别、自定义布局、动画处理、数据操作等多个方面。开发者需要熟练掌握Android SDK,理解ListView的工作原理,以及...
本篇文章将详细讲解如何实现ListView中Item的左滑动显示删除按钮。 首先,我们需要一个自定义的ListView,这通常通过继承ListView类并重写其onTouchEvent()方法来实现。在这个方法中,我们可以监听用户的滑动操作。...
"android listview左划删除"是ListView的一个常见扩展功能,允许用户通过手势左滑列表项来显示一个删除按钮,进而实现快速删除操作。这个特性提高了用户体验,使得用户能够更直观地对列表中的条目进行管理。 要实现...
在Java代码中,设置SwipeRefreshLayout的监听器,当用户左滑时,显示删除按钮或动画。 ```java SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swipe_refresh_layout); swipeRefreshLayout....
首先,我们需要在ListView的每个条目上添加一个删除按钮。这可以通过自定义ListView的Adapter来完成。在Adapter的getView()方法中,为每一项创建一个包含删除按钮的视图布局,并设置一个点击监听器。例如,你可以...
本教程将详细介绍如何在Android中实现一个带图标的ListView。 ### 1. ListView的基本概念 ListView是Android中的一个视图容器,它可以显示一列可滚动的项目列表。每个列表项(ListView项)通常由一个布局文件定义,...
- 在ListView的项布局中,添加一个隐藏的删除按钮,初始时不可见。 - 在自定义View的onTouchEvent()中,根据MotionEvent的动作类型ACTION_DOWN、ACTION_MOVE和ACTION_UP来判断用户的滑动行为。 - 使用...
为了实现删除功能,我们可以添加一个删除按钮或者采用手势识别。当用户长按某个条目后,除了启动拖动模式,还可以显示一个删除图标或提示。用户确认删除后,从数据源中移除对应的项,并再次调用Adapter的...
"Android ListView 仿微信侧滑删除"这个主题涉及到如何实现类似微信中常见的侧滑菜单功能,即用户在ListView的每一项上向左滑动时,会显示出一个包含删除按钮的视图,允许用户快速删除列表中的某一项。下面我们将...
本资源"android带动画效果滑动删除listview最新版 亲测可用"提供了一个优化过的ListView实现,它带有滑动删除功能,并且已经修复了部分已知问题,提高了用户体验。这个库可能基于开源项目Swipelistview,如文件名...
我们可以使用Android的GestureDetector和Scroller类来处理滑动手势,然后通过改变View的布局参数来显示或隐藏删除按钮。 1. 创建自定义ListView项布局: 创建一个包含主内容和隐藏删除按钮的布局文件,例如`list_...
当用户向左滑动ListView的item时,隐藏的删除按钮会被显示出来。 以下是实现这一功能的关键步骤: 1. **创建滑动视图(SlideView)**:创建一个自定义布局,包含主要内容区域和一个滑出的删除按钮。使用Android的...
在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。为了增强用户体验和交互性,我们常常会在ListView的每一项(Item)中添加按钮。这样,用户可以通过点击按钮来执行特定的操作,如查看详情、...
同时,对于删除按钮的显示和隐藏,可以通过设置可见性(View.GONE或View.VISIBLE)来优化性能。 7. **UI设计**: 仿照QQ的设计,删除按钮通常为红色,有明显的“删除”文字提示。设计上,按钮的大小和位置需与整个...
在实现滑动出现删除按钮的过程中,我们主要会用到ListView的onScrollListener和自定义的ViewHolder。 1. **滑动监听器(onScrollListener)**: 为了检测用户滑动ListView的行为,我们需要添加一个...
- 当检测到滑动手势时,改变该项视图的透明度、宽度或其他视觉属性,以显示删除按钮或提示。 - 实现回调接口,处理用户的确认或取消操作,更新数据源并通知ListView刷新。 ### 2. 滑动展开(Slide to Expand) ...
总之,实现Android ListView的批量删除功能,需要结合Adapter、CheckBox以及数据源的管理。理解ListView的工作原理和Adapter模式,以及如何处理用户的交互,是完成这一功能的关键。通过以上步骤,可以为用户提供一个...
滑动删除的核心在于监听ListView的滚动事件,当用户滑动某一行时,显示该行的删除按钮,滑动结束或离开该行时隐藏按钮。这一过程通常通过自定义适配器(Adapter)和滑动监听器(SwipeListener)来实现。 二、实现...
为了使滑动更加流畅,可以添加动画效果,如TranslationAnimation或ObjectAnimator,平滑地移动和显示删除按钮。 6. **触发删除操作**: 当用户滑动到一定程度并松手时,触发删除操作。这可能涉及从数据源中移除...
`带左滑出现删除按钮的ListView` 是一种常见的交互设计,用户可以通过向左滑动列表项来显示一个或多个操作按钮,比如“删除”按钮,提高用户体验。下面将详细解释如何实现这个功能。 首先,我们需要了解ListView的...