Android中实现长按修改ListView对象的内容

发布时间 - 2026-01-10 23:14:28    点击率:

实现的效果如下:

我在ListView的Item长按事件内打开一个弹出窗口,窗口内有一个EditText对象,在这个编辑框内输入文本点确定后,直接修改掉ListView对象内某个TextView对象的内容。

示例代码如下:

import android.os.Bundle; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.graphics.Color; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemLongClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ListView; 
import android.widget.TextView; 
 
public class MainActivity extends Activity { 
private ListView lvShow; 
private AlertDialog dialog; 
 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
lvShow = (ListView) findViewById(R.id.lvShow); 
String[] arr = { "李四", "小猪", "店小二" }; 
ArrayAdapter<String> Adap1 = new ArrayAdapter<String>(this, 
R.layout.test_list, arr); 
lvShow.setAdapter(Adap1);// 设置ListView的显示 
lvShow.setOnItemLongClickListener(new OnItemLongClickListener() { 
 
@Override 
public boolean onItemLongClick(AdapterView<?> parent, View view, 
int position, long id) { 
setAlertDialog(view); 
dialog.show(); 
return false; 
} 
}); 
} 
 
private void setAlertDialog(final View view) { 
LayoutInflater factory = LayoutInflater.from(getApplicationContext()); 
// 引入一个外部布局 
View contview = factory.inflate(R.layout.test_dialog, null); 
contview.setBackgroundColor(Color.BLACK);// 设置该外部布局的背景 
final EditText edit = (EditText) contview 
.findViewById(R.id.edit_dialog);// 找到该外部布局对应的EditText控件 
Button btOK = (Button) contview.findViewById(R.id.btOK_dialog); 
btOK.setOnClickListener(new OnClickListener() {// 设置按钮的点击事件 
 
@Override 
public void onClick(View v) { 
((TextView) view).setText(edit.getText().toString()); 
dialog.dismiss(); 
} 
}); 
dialog = new AlertDialog.Builder(MainActivity.this).setView(contview) 
.create(); 
} 
} 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:paddingBottom="@dimen/activity_vertical_margin" 
 android:paddingLeft="@dimen/activity_horizontal_margin" 
 android:paddingRight="@dimen/activity_horizontal_margin" 
 android:paddingTop="@dimen/activity_vertical_margin" 
 tools:context=".MainActivity" > 
 
 <ListView 
  android:id="@+id/lvShow" 
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" /> 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:gravity="center_horizontal" 
 android:orientation="vertical" > 
 
 <EditText 
  android:id="@+id/edit_dialog" 
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:textSize="28sp" /> 
 
 <Button 
  android:id="@+id/btOK_dialog" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="确定" /> 
 
</LinearLayout> 

总结

以上就是这篇文章的全部内容了,希望本文的内容对各位Android开发者们能带来一定的帮助,如果有疑问大家可以留言交流。


# android  # listview长按  # 修改listview  # listview  # 长按事件  # Android List(集合)中的对象以某一个字段排序案例  # Android使用FontMetrics对象计算位置坐标  # Android使用Canvas对象实现刮刮乐效果  # Android编程实现全局获取Context及使用Intent传递对象的方法详解  # Android中将Bitmap对象以PNG格式保存在内部存储中的方法  # Android中利用C++处理Bitmap对象的实现方法  # Android中传递对象的三种方法的实现  # Android中深入学习对象的四种引用类型  # 我在  # 在这个  # 这篇文章  # 内有  # 小猪  # 小二  # 到该  # 弹出窗口  # 李四  # 有疑问  # setContentView  # super  # savedInstanceState  # activity_main  # parent  # layout  # onCreate  # dialog  # lvShow  # private 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  太平洋网站制作公司,网络用语太平洋是什么意思?  SQL查询语句优化的实用方法总结  如何在IIS中配置站点IP、端口及主机头?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Windows Hello人脸识别突然无法使用  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  如何在 Pandas 中基于一列条件计算另一列的分组均值  Android自定义listview布局实现上拉加载下拉刷新功能  佛山网站制作系统,佛山企业变更地址网上办理步骤?  php485函数参数是什么意思_php485各参数详细说明【介绍】  活动邀请函制作网站有哪些,活动邀请函文案?  jQuery 常见小例汇总  如何在阿里云完成域名注册与建站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel storage目录权限问题_Laravel文件写入权限设置  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Python文本处理实践_日志清洗解析【指导】  如何在云指建站中生成FTP站点?  微信小程序 配置文件详细介绍  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Swift中switch语句区间和元组模式匹配  大连网站制作公司哪家好一点,大连买房网站哪个好?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  Laravel PHP版本要求一览_Laravel各版本环境要求对照  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Python文件异常处理策略_健壮性说明【指导】  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel如何使用withoutEvents方法临时禁用模型事件  Laravel如何实现文件上传和存储?(本地与S3配置)  怎样使用JSON进行数据交换_它有什么限制  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  北京专业网站制作设计师招聘,北京白云观官方网站?  如何在阿里云高效完成企业建站全流程?  JavaScript常见的五种数组去重的方式  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  5种Android数据存储方式汇总  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  如何实现建站之星域名转发设置?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?