关于操蛋的 listView.setAdapter, 求解

java_running 2011-08-20 09:38:16
例如程序如下:

Cursor cur = getdbData();

ListAdapter adapter = new SimpleCursorAdapter(this, R.layout.item_ring_view, cur,
new String[]{DbSQl.KEY_NAME,DbSQl.KEY_SIZE,DbSQl.KEY_LEN} , new int[]{R.id.name,R.id.size,R.id.len});
listView.setAdapter(adapter);


问题一, cur 在什么时候close好还是压根不要理会,如果在 listView.setAdapter(adapter);下就直接cur.close(),那么listView没有数据显示,疑惑....

问题二, 通过上面的代码, 如何在对 R.layout.item_ring_view 的button设置click事件。 这里有一个问题,在item_ring_view 中必须对button 设置 android:focusable="false", 否则 listView 的 ItemClick失效,蛋疼! 如果在item_ring_view 中对button设置了android:focusable="false", 那么在程序运行后点击listView中的button,没有作用,就算起作用,那也是先触发 listView的 ItemClick事件,然后在Itemclick事件里设置 button.setFocusable(true);,这样,点击button才能触发事件,可我想程序运行后直接点击button就触发事件呀~~~~ 2个蛋疼... 求高手给出具体解决方案, 有代码的当然是万分感激!!!
这里的适配器是 SimpleCursorAdapter ,是 SimpleCursorAdapter 是 SimpleCursorAdapter....

如果大爷或大姐觉得此贴给分不够,这个好说,一个字‘ 加’!!!!!

...全文
2535 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
redoffice 2011-08-21
  • 打赏
  • 举报
回复
建议好好看看这篇帖子:
http://blog.csdn.net/redoffice/article/details/6666185
希望对你有帮助。
java_running 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 perfe_ct 的回复:]
问题一,调用Activity的startManagingCursor(Cursor c)方法,让Activity管理Cursor的生命周期;
例如:
Cursor c = mDbHelper.fetchAllNotes();
startManagingCursor(c);
问题二,可以加上一句android:focusable="false",Button就不会失焦
例如:
<Butt……
[/Quote]
对于问题1,表示感谢,对于问题2也表示感谢,但是,问题2我的描述也涉及到了,没有解决我想要解决的问题。

在 listView.setAdapter(adapter); 后面如何 对 item_ring_view中的button加事件,感谢!!!!
  • 打赏
  • 举报
回复
我也觉得那Adapter挺艹蛋的
b87936260 2011-08-20
  • 打赏
  • 举报
回复
w我觉得麻烦的是确定点的是哪个button,ID都一样啊
perfe_ct 2011-08-20
  • 打赏
  • 举报
回复
问题一,调用Activity的startManagingCursor(Cursor c)方法,让Activity管理Cursor的生命周期;
例如:
Cursor c = mDbHelper.fetchAllNotes();
startManagingCursor(c);
问题二,可以加上一句android:focusable="false",Button就不会失焦
例如:
<Button
android:text="@string/more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/age"
android:layout_alignTop="@id/age"
android:layout_marginBottom="5px"
android:focusable="false"
android:id="@+id/btn_more" />
java_running 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 perfe_ct 的回复:]
引用 4 楼 java_running 的回复:

引用 1 楼 perfe_ct 的回复:
问题一,调用Activity的startManagingCursor(Cursor c)方法,让Activity管理Cursor的生命周期;
例如:
Cursor c = mDbHelper.fetchAllNotes();
startManagingCursor(c);
问题二,可以加上一……
[/Quote]

太抽象了吧 0_0
perfe_ct 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 java_running 的回复:]

引用 1 楼 perfe_ct 的回复:
问题一,调用Activity的startManagingCursor(Cursor c)方法,让Activity管理Cursor的生命周期;
例如:
Cursor c = mDbHelper.fetchAllNotes();
startManagingCursor(c);
问题二,可以加上一句android:focusable="false",……
[/Quote]
可以这样对item_ring_view的button追加事件:
LayoutInflater inflater = LayoutInflater.from(context); //context 一般是Activity.this
View convertView = inflater.inflate(R.layout.item_ring_view, null);
Button btn = (Button) convertView.findViewById(R.id.你的ButtonID);
btn.setOnClickListener(...);
OK了
java_running 2011-08-20
  • 打赏
  • 举报
回复
奶奶的,解决了!!

int count = listView.getCount(); // count = 6;

for (int i = 0; i < count; i++) {
View v = listView.getChildAt(i);
Log.v("view", (v==null)+"");
}

对于这个为什么为null,是因为 ListView的item还没有加载完毕, 解决方案套个ProgressDialog,用一个变量去判断是否加载完毕, 如果加载完毕了 Handler.sendEmptyMessage 告诉 ListView 获取Item,然后对Item上的 button添加事件!! 奶奶的,浪费了我很多时间...

java_running 2011-08-20
  • 打赏
  • 举报
回复
另外还有操蛋的疑问:
对于
Cursor cur = getdbData();

ListAdapter adapter = new SimpleCursorAdapter(this, R.layout.item_ring_view, cur,
new String[]{DbSQl.KEY_NAME,DbSQl.KEY_SIZE,DbSQl.KEY_LEN} , new int[]{R.id.name,R.id.size,R.id.len});
listView.setAdapter(adapter);

int count = listView.getCount(); // count = 6;

for (int i = 0; i < count; i++) {
View v = listView.getChildAt(i);
Log.v("view", (v==null)+"");
}



运行后, count的值为6,为什么 Log.v("view", (v==null)+""); 为true, 那如何获得listview下的每个item呢

内容概要:本文围绕城市场景下的无人机三维路径规划问题,提出了一种新颖的多目标粒子群优化算法(NMOPSO),旨在解决高维复杂环境中路径规划面临的多重挑战。研究聚焦于导航变量的多目标优化,构建了一个包含路径长度、飞行安全性、能量消耗等多个相互冲突目标的优化模型,并采用改进的粒子群算法进行高效搜索,最终获得一组Pareto最优解集,为实际决策提供多样化路径选择方案。该方法结合Matlab代码实现,详细阐述了算法的设计机制、数学建模流程及仿真验证过程,充分展示了其在密集城市建筑环境中有效规避障碍物、满足飞行动力学约束并实现多目标权衡的能力,具有较强的工程应用价值。; 适合人群:具备一定优化算法理论基础和Matlab编程能力,从事无人机路径规划、智能交通系统、自动化控制、人工智能应用等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市环境中的无人机物流配送、巡检监控、应急救援等实际任务的三维路径规划;②为高维、非线性、多约束的多目标优化问题提供有效的算法设计思路与改进参考;③通过Matlab仿真平台复现算法,进一步开展性能测试、参数调优与算法对比研究,推动相关领域的技术创新。; 阅读建议:此资源强调算法原理与工程实践的深度融合,建议读者重点研读目标函数的构建方式、约束条件的处理策略以及NMOPSO算法的核心改进机制,并务必动手运行和调试所提供的Matlab代码,以深入理解算法在三维空间路径优化中的具体实现细节与实际表现。
内容概要:本文档围绕基于10机39节点的电力系统仿真展开,依托Matlab/Simulink平台构建标准电力系统模型,系统性地实现了电力系统稳态与暂态过程的仿真分析。内容涵盖潮流计算、短路故障、暂态稳定性、N-k故障分析、蓄意攻击与级联故障模拟等核心问题,并引入混合整数线性规划(MILP)等优化方法进行电网脆弱性评估与关键故障筛选。文档突出科研复现导向,整合了状态估计、虚假数据注入攻击、优化算法等前沿技术的交叉应用,具有较强的理论深度与工程实践价值。; 适合人群:具备电力系统基本理论知识和Matlab/Simulink仿真能力的研究生、科研人员及电力工程技术人员,特别适用于从事电力系统稳定性分析、安全防护、故障演化机制与优化调度等领域研究的专业人士。; 使用场景及目标:① 掌握10机39节点系统的建模方法与仿真流程;② 学习并复现电力系统典型故障(如短路、N-k故障、级联故障)的建模与动态响应分析;③ 理解基于MILP的电网脆弱性评估、攻击策略建模与故障传播机制;④ 结合优化算法开展电力系统安全防御、恢复策略与韧性提升研究。; 阅读建议:建议结合文档中标注的“顶级EI复现”“核心论文复现”等标签,重点关注模型构建逻辑与代码实现细节,优先运行仿真案例以理解其物理背景与数学建模原理,同时深入分析故障场景设定、目标函数设计及优化求解策略的工程意义与学术价值。

80,488

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧