小编Rud*_*ing的帖子

单击后强制ListView项目保持"按下"状态?

我有一个ListView,当通过onItemClick侦听器单击项目行时,它会打开另一个活动.

我希望该行从点击时到屏幕切换到新活动时保持按下状态.我认为这对用户来说是一个更清晰的体验,你会看到这种事情,大多数按钮打开/关闭对话框或切换活动.

我尝试在onItemClick()监听器中设置view.setPressed(true),但似乎在按下状态变回正常状态后调用了一会儿,因为它略微闪烁.

例如:

mListView.setOnItemClickListener(new OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
       view.setPressed(true);
       //start an activity
   }
});
Run Code Online (Sandbox Code Playgroud)

除了闪烁之外,该代码几乎可以工作(用户按下列表项并转到其按下状态,然后用户放开(完成点击),然后返回到正常状态一瞬间,然后返回到按下状态来自setPressed(true)调用)

有任何想法吗?

谢谢

编辑:我应该提到我使用xml drawable选择器来定义列表背景的正常,按下,选择等状态.

android listview onclick

21
推荐指数
2
解决办法
2万
查看次数

如果尚未获取模型,如何防止Backbone.Marionette呈现视图?

在我的骨干.Marionette应用程序我有一个模型,需要一个Id属性来构建它的URL.因此,我通过传递一个Id来创建模型,将其添加到视图中然后获取模型:

   model = new Model({_id:id})               
   view = new View({model:model})                               
   app.content.show(view)                                                    
   model.fetch()
Run Code Online (Sandbox Code Playgroud)

我希望视图只在获取模型后才开始渲染,但Marionette会立即渲染模型,导致我的模板渲染失败,因为预期的属性不存在.任何解决方法?

我正在尝试做一些类似于接受的答案:将 一个Backbone模型绑定到Marionette ItemView - 阻止.fetch()?

但是,虽然这与骨干有关,但正如答案中所述,Marionette会自动呈现视图.

另请参阅: Backbone Marionette在获取完成之前显示

backbone.js marionette

12
推荐指数
2
解决办法
1万
查看次数

使用 Qt.createQmlObject() 创建自定义 qml 对象实例

我有一个名为Target.qml. 我想使用Qt.createQmlObject().

它在使用内置 qml 对象(如 Image)时有效:

var newTarget = Qt.createQmlObject('import Qt 4.7; Image {source: "widgets/SlideSwitchImages/knob.png"; }', parent);
Run Code Online (Sandbox Code Playgroud)

但是在使用任何自定义对象类型时失败,例如:

var newTarget = Qt.createQmlObject('import Qt 4.7; Target {}', parent);
Run Code Online (Sandbox Code Playgroud)

但是,如果我在 QML 中静态使用我的自定义 Target 类型,则一切正常。这是一个已知的限制,有什么解决方法吗?

qt qt4 qml

3
推荐指数
1
解决办法
4872
查看次数

标签 统计

android ×1

backbone.js ×1

listview ×1

marionette ×1

onclick ×1

qml ×1

qt ×1

qt4 ×1