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还是其他软件做的?

