`
zhuxinzx
  • 浏览: 293690 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android带删除按钮的ListView

 
阅读更多

 

 

 

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条目

    总的来说,实现“左滑显示删除按钮,点击按钮删除ListView的item条目”的功能,涉及到Android手势识别、自定义布局、动画处理、数据操作等多个方面。开发者需要熟练掌握Android SDK,理解ListView的工作原理,以及...

    ListView像左滑动Item显示删除按钮

    本篇文章将详细讲解如何实现ListView中Item的左滑动显示删除按钮。 首先,我们需要一个自定义的ListView,这通常通过继承ListView类并重写其onTouchEvent()方法来实现。在这个方法中,我们可以监听用户的滑动操作。...

    android listview左划删除

    "android listview左划删除"是ListView的一个常见扩展功能,允许用户通过手势左滑列表项来显示一个删除按钮,进而实现快速删除操作。这个特性提高了用户体验,使得用户能够更直观地对列表中的条目进行管理。 要实现...

    android studio实现listview的增加,左滑删除

    在Java代码中,设置SwipeRefreshLayout的监听器,当用户左滑时,显示删除按钮或动画。 ```java SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swipe_refresh_layout); swipeRefreshLayout....

    Android通过点击对应listview条目的删除按钮实现删除sqlite数据库对应行信息的简单方法

    首先,我们需要在ListView的每个条目上添加一个删除按钮。这可以通过自定义ListView的Adapter来完成。在Adapter的getView()方法中,为每一项创建一个包含删除按钮的视图布局,并设置一个点击监听器。例如,你可以...

    Android实现带图标的ListView

    本教程将详细介绍如何在Android中实现一个带图标的ListView。 ### 1. ListView的基本概念 ListView是Android中的一个视图容器,它可以显示一列可滚动的项目列表。每个列表项(ListView项)通常由一个布局文件定义,...

    android 滑动删除的listview(自定义view)

    - 在ListView的项布局中,添加一个隐藏的删除按钮,初始时不可见。 - 在自定义View的onTouchEvent()中,根据MotionEvent的动作类型ACTION_DOWN、ACTION_MOVE和ACTION_UP来判断用户的滑动行为。 - 使用...

    android 拖拽和删除的listview

    为了实现删除功能,我们可以添加一个删除按钮或者采用手势识别。当用户长按某个条目后,除了启动拖动模式,还可以显示一个删除图标或提示。用户确认删除后,从数据源中移除对应的项,并再次调用Adapter的...

    Android ListView 仿微信侧滑删除

    "Android ListView 仿微信侧滑删除"这个主题涉及到如何实现类似微信中常见的侧滑菜单功能,即用户在ListView的每一项上向左滑动时,会显示出一个包含删除按钮的视图,允许用户快速删除列表中的某一项。下面我们将...

    android带动画效果滑动删除listview最新版 亲测可用

    本资源"android带动画效果滑动删除listview最新版 亲测可用"提供了一个优化过的ListView实现,它带有滑动删除功能,并且已经修复了部分已知问题,提高了用户体验。这个库可能基于开源项目Swipelistview,如文件名...

    安卓ListView实现侧滑删除

    我们可以使用Android的GestureDetector和Scroller类来处理滑动手势,然后通过改变View的布局参数来显示或隐藏删除按钮。 1. 创建自定义ListView项布局: 创建一个包含主内容和隐藏删除按钮的布局文件,例如`list_...

    Android 重写Listview实现左滑删除功能

    当用户向左滑动ListView的item时,隐藏的删除按钮会被显示出来。 以下是实现这一功能的关键步骤: 1. **创建滑动视图(SlideView)**:创建一个自定义布局,包含主要内容区域和一个滑出的删除按钮。使用Android的...

    带按钮listview,添加监听

    在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。为了增强用户体验和交互性,我们常常会在ListView的每一项(Item)中添加按钮。这样,用户可以通过点击按钮来执行特定的操作,如查看详情、...

    【android开发】仿QQ中ListView中选项左滑出现删除按钮

    同时,对于删除按钮的显示和隐藏,可以通过设置可见性(View.GONE或View.VISIBLE)来优化性能。 7. **UI设计**: 仿照QQ的设计,删除按钮通常为红色,有明显的“删除”文字提示。设计上,按钮的大小和位置需与整个...

    Android 仿微信QQ listView滑动出现删除修改按钮,点击删除按钮弹底部对话框进行确定删除

    在实现滑动出现删除按钮的过程中,我们主要会用到ListView的onScrollListener和自定义的ViewHolder。 1. **滑动监听器(onScrollListener)**: 为了检测用户滑动ListView的行为,我们需要添加一个...

    Android-SlideListView(ListView侧滑实现)

    - 当检测到滑动手势时,改变该项视图的透明度、宽度或其他视觉属性,以显示删除按钮或提示。 - 实现回调接口,处理用户的确认或取消操作,更新数据源并通知ListView刷新。 ### 2. 滑动展开(Slide to Expand) ...

    Android ListView批量删除

    总之,实现Android ListView的批量删除功能,需要结合Adapter、CheckBox以及数据源的管理。理解ListView的工作原理和Adapter模式,以及如何处理用户的交互,是完成这一功能的关键。通过以上步骤,可以为用户提供一个...

    ListView滑动显示删除按钮经行删除

    滑动删除的核心在于监听ListView的滚动事件,当用户滑动某一行时,显示该行的删除按钮,滑动结束或离开该行时隐藏按钮。这一过程通常通过自定义适配器(Adapter)和滑动监听器(SwipeListener)来实现。 二、实现...

    android listview 左滑 删除功能

    为了使滑动更加流畅,可以添加动画效果,如TranslationAnimation或ObjectAnimator,平滑地移动和显示删除按钮。 6. **触发删除操作**: 当用户滑动到一定程度并松手时,触发删除操作。这可能涉及从数据源中移除...

    安卓 带左滑出现删除按钮的ListView

    `带左滑出现删除按钮的ListView` 是一种常见的交互设计,用户可以通过向左滑动列表项来显示一个或多个操作按钮,比如“删除”按钮,提高用户体验。下面将详细解释如何实现这个功能。 首先,我们需要了解ListView的...

Global site tag (gtag.js) - Google Analytics