2 u010029536 u010029536 于 2016.05.04 19:00 提问

listView中的item经过长按之后会出现复选框 20C

就如同图片中那样

图片说明

3个回答

bdmh
bdmh   Ds   Rxr 2016.05.04 19:17

你可以在数据源中增加一个字段,代表是否显示复选框,长按时,将次标记置为true,然后在getview中判断该标记,处理界面

u010029536
u010029536 额,能不能具体点,刚开始做android,不是很懂
大约 2 年之前 回复
qq_32114325
qq_32114325   2016.05.04 23:54

package com.example.day01;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnItemClickListener,OnItemLongClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Activity对象包含一个window窗口
//这句代码的含义是将一些view添加到
//activity对应的window窗口上
//这个方法底层的实现?
//1.根据context找到对应的资源文件
//getResources().getLayout(R.layout.activity_main);
//2.底层借助pull解析器解析xml
//3.底层借助反射构建xml中元素的对象
//4.将xml对应的view元素对象添加到activity对应的窗口上
setContentView(R.layout.activity_main);
//1.ListView (View)
ListView lsv=(ListView)
findViewById(R.id.lsv01);
//2.Adapter (ArrayAdapter)
//2.1 Context
Context context=this;
//2.2 item view 对应的资源
//int textViewResourceId=R.layout.list_item_1;
int textViewResourceId=
android.R.layout.simple_list_item_checked;
//2.3 item data
String[] objects={"关羽","张飞","赵云","黄忠","马超"};
ArrayAdapter adapter=
new ArrayAdapter(
context,
textViewResourceId,//item view 的资源文件
objects);
//3.关联Adapter
lsv.setAdapter(adapter);//ListAdapter
//此时当listview在显示数据时,
//底层会调用adapter的getView
//方法获得item
//4.添加监听器
lsv.setOnItemClickListener(this);
//长按事件
lsv.setOnItemLongClickListener(this);
}
/**点击ListView的某个item时会自动回调此方法*/
@Override
public void onItemClick(
AdapterView<?> parent, //ListView
View view,//TextView
int position,
long id) {
Log.i("TAG","parent="+parent);
Log.i("TAG","view="+view);
Log.i("TAG","position="+position);
//在此方法中以toast的形式
//显示点击的item的内容
//1.根据postion获得item对象的内容
String item=(String)
parent.getItemAtPosition(position);
//2.显示
Toast.makeText(this,
item, 0).show();
}
/**长按listView的某个Item时会自动执行此方法*/
@Override
public boolean onItemLongClick(
AdapterView<?> parent,
View view,
int position, long id) {
Toast.makeText(this,"可以多选了",0).show();
//设置ListView的选择模式为多选模式
((ListView)parent).
setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
return true;//返回为true表示事件已处理,后续无需再处理
}
}

qq_32114325
qq_32114325   2016.05.04 23:54

package com.example.day01;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnItemClickListener,OnItemLongClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Activity对象包含一个window窗口
//这句代码的含义是将一些view添加到
//activity对应的window窗口上
//这个方法底层的实现?
//1.根据context找到对应的资源文件
//getResources().getLayout(R.layout.activity_main);
//2.底层借助pull解析器解析xml
//3.底层借助反射构建xml中元素的对象
//4.将xml对应的view元素对象添加到activity对应的窗口上
setContentView(R.layout.activity_main);
//1.ListView (View)
ListView lsv=(ListView)
findViewById(R.id.lsv01);
//2.Adapter (ArrayAdapter)
//2.1 Context
Context context=this;
//2.2 item view 对应的资源
//int textViewResourceId=R.layout.list_item_1;
int textViewResourceId=
android.R.layout.simple_list_item_checked;
//2.3 item data
String[] objects={"关羽","张飞","赵云","黄忠","马超"};
ArrayAdapter adapter=
new ArrayAdapter(
context,
textViewResourceId,//item view 的资源文件
objects);
//3.关联Adapter
lsv.setAdapter(adapter);//ListAdapter
//此时当listview在显示数据时,
//底层会调用adapter的getView
//方法获得item
//4.添加监听器
lsv.setOnItemClickListener(this);
//长按事件
lsv.setOnItemLongClickListener(this);
}
/**点击ListView的某个item时会自动回调此方法*/
@Override
public void onItemClick(
AdapterView<?> parent, //ListView
View view,//TextView
int position,
long id) {
Log.i("TAG","parent="+parent);
Log.i("TAG","view="+view);
Log.i("TAG","position="+position);
//在此方法中以toast的形式
//显示点击的item的内容
//1.根据postion获得item对象的内容
String item=(String)
parent.getItemAtPosition(position);
//2.显示
Toast.makeText(this,
item, 0).show();
}
/**长按listView的某个Item时会自动执行此方法*/
@Override
public boolean onItemLongClick(
AdapterView<?> parent,
View view,
int position, long id) {
Toast.makeText(this,"可以多选了",0).show();
//设置ListView的选择模式为多选模式
((ListView)parent).
setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
return true;//返回为true表示事件已处理,后续无需再处理
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ListView长按出现CheckBox实现选择性删除
 public class ListViewActivity extends Activity implements OnScrollListener,   OnPullDownListener, OnItemClickListener, OnItemLongClickListener,   OnClickListener { }
ListView长按Item显示CheckBox并进行批量删除操作
ListView应该是每个项目中必不可少的控件了,有的可以编辑的ListView中有批量删除的功能,还有的ListView可以手动调Item排序。下面的代码就是如何实现ListView(默认为无上下拉加载功能的)的批量删除功能。主Activity布局activity_main.xml 一个ListView控件,代码不传了。Item布局item_listview.xml<?xml versi
给ListView的Item添加CheckBox,长按调出CheckBox,然后通过点击进行选中和取消
首先制作一个CheckBox式样在drawable文件夹中添加文件custom_checkbox_style.xml,内容如下 在values文件夹的styles.xml文件中添加如下内容 @drawable/custom_checkbox_style 在ListView的Item的布局文件中添加CheckBox的相关代码,内容如下<LinearLayout xmlns:andro
Android 长按Listview显示CheckBox,实现批量删除
Android 长按Listview显示CheckBox,实现批量删除
listview的item长按事件处理的两种方法
要实现ListView的长按点击事件,可以直接调用setOnItemLongClickListener,在onLongClick里面实现逻辑,也可以使用注册上下文菜单的方法,比如要实现下面的效果 可以在item的长按事件中弹出一个对话框或者popupwindow来实现,今天我们换一种方法 [java] view plain copy
android(2)在listView中设置长按显示button,实现删除item
之前写的第一个代码,只是实现了使用baseadapter 适配器显示listview,但是,在其中的一个button,并没有加上实质性的内容。现在,我们要为这个listview中的button设置长按显示button,并且点击之后能够删除这个item。(以后看见这些的时候,记得,你写这个玩意很辛苦) 1.首先,修改xml文件,将button的属性设置为不可见。代码如下: <Button
Android ListView长按弹出CheckBox,实现全选,反选,批量删除功能
ListView长按弹出CheckBox,实现全选,反选,批量删除功能. 主布局:activity_main xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:
ListView各种常用特效 一 长按item出现菜单
本期开始讲ListVIew相关特效,说是这样说,讲一些比较常用的特效。 先上代码public class MainActivity extends AppCompatActivity { private String[] name = { "标题一", "标题二", "标题三", "标题四" }; private String[] desc = { "内容一", "内容二", "内
android学习记录(八)实现ListView的长按进入多选删除模式。
今天在仿制一个应用的时候,发现我不会实现listView的长按进入多选这个功能,就找了一下资料。。发现找资料用去的时间还是蛮多的。。。天。理解完之后,自己写了一份代码。        简单来说,就是实施对ListView中item的长按监控,对CheckBox的显示与隐藏进行操作而已。好像有一个ListView中有一个setChoseMode方法。。不太清楚怎么用的,等下我再看看研究研究,应该会
listView item添加长按菜单,并对菜单做出响应
1.//添加长按点击         listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {                  @Override public void onCreateContextMenu(android.view.ContextMenu menu, View v, Co