小编MrP*_*eak的帖子

如何让android ListView项选择器使用state_checked

撕毁我的头发试图让Android ListView做我想要的.

我希望在单选模式下有一个ListView,其自定义行布局具有不同的背景颜色,用于选择,按下和检查(即选择以颜色而不是复选标记显示 - 这就是我通常所说的"选择",但在我按下它之前选择在android中似乎我要选择

我想过尝试一个背景选择器,里面有三个状态.它适用于state_selected和state_pressed,但不适用于state_checked.所以我创建了一个CheckableRelativeLayout,它扩展了RelativeLayout并实现了Checkable并用于每一行的视图.

这里显示的是简化版本:

<my.package.CheckableRelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:background="@drawable/bkg_selector">  
  >

     <ImageView android:id="@+id/animage"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
     />
 </my.package.CheckableRelativeLayout>
Run Code Online (Sandbox Code Playgroud)

bkg_selector看起来像

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/purple" />
    <item android:state_checked="true" android:drawable="@drawable/red" />
    <item android:state_selected="true" android:drawable="@drawable/darkpurple" />
    <item android:drawable="@drawable/black" />
</selector>
Run Code Online (Sandbox Code Playgroud)

颜色在别处定义.

这仍然无效.所以在自定义ListAdapter中我跟踪了"已检查"行并尝试了(在getView中)

if(position == checkedPosition)ret.getBackground().setState(CHECKED_STATE_SET);

它仍然不起作用.我怎样才能让它做我想做的事情?

android listview

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

如何列出/回显Azure管道中定义的所有变量?

我正在尝试找到一种方法来列出 Azure Devops 管道中定义的所有变量。我找到了env在脚本中使用的示例,但它获取了所有环境变量,并且我的 yaml 中定义的任何变量的名称都已更改(更改为大写和 _ 而不是。)

我想要的只是变量字典输出。我试过了

- ${{ each value in variables }}:
  - script: echo ${{ value.key }} ${{value.value}}  
Run Code Online (Sandbox Code Playgroud)

但这使得每个变量都有一个 CmdLine 任务,而不是仅仅在一个任务中回显所有变量以使其易于阅读

azure-devops azure-pipelines

8
推荐指数
1
解决办法
5720
查看次数

您可以在Node.JS Express应用程序中插入中间件吗?

有没有办法在Express堆栈中注入中间件?我的意思是我想让我的app.js设置主要的中间件链,然后调用其他模块传递app实例,他们可能想要插入更多的中间件(例如,想要在正确的地方添加护照的认证模块)

node.js express

7
推荐指数
1
解决办法
7564
查看次数

部署新版本的 ASP.NET Core / React 应用程序时如何确保客户端完全重新加载?

我有一个小的 ASP.NET Core Web 应用程序,它有一个 React 前端。VS2017 向导中的“新项目”几乎开箱即用,然后添加到。

我现在已经通过我们的构建和部署系统进行了部署,并且 ASP.NET Core DLL 具有从构建服务器设置的构建版本。

但是,当我部署时,React 前端无法正确重新加载,也不会出现新功能。我必须要求用户按 ctrl-F5 才能更新。

我添加了版本更改检测(在控制器上添加了 API 调用),window.location.reload()当它看到客户端时,它仍然从缓存中提取客户端文件。

我可以将版本号添加到 urls 或 webpack 或类似的东西以强制从服务器获取吗?

更新:缓存破坏与创建反应应用程序似乎相关。我可能会尝试...

reactjs asp.net-core asp-net-core-spa-services

6
推荐指数
0
解决办法
934
查看次数

从 Google 电子表格中删除自定义脚本

我有一个谷歌电子表格,其中有一个自定义脚本来更新内容。该表已被复制了几次,目前脚本编辑器中有 2 个脚本项目。其中之一现已过时,应删除以避免混淆。

搜索如何执行此操作时提到了不再可用的脚本管理器菜单选项。有谁知道我现在如何从谷歌工作表中删除脚本项目?

google-sheets google-apps-script

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

在 ChartJS 中是否可以更改不同点之间的线条样式?

使用 ChartJs (v2.2.2) 可以更改图形上最后 2 个点之间的线条样式。例如,一路上有一条实线,然后在最后是虚线?见下图

在此处输入图片说明

chart.js

4
推荐指数
1
解决办法
7708
查看次数

WPF在CaptureMouse()之后不发送MouseMove事件;

我正在尝试使用带有圆角矩形的WPF画布,我可以使用鼠标拖动它.然而,一旦我尝试在画布上捕获鼠标,我就不再获得移动事件了.

这是一个"mycanvas"用户控件,矩形是"foo"用户控件.这些(减去前言)的XAML是:

mycanvas.xaml:

<Canvas MouseDown="CanvasMouseDown" MouseMove="CanvasMouseMove" MouseUp="CanvasMouseUp" Background="White">

    <my:Foo HorizontalAlignment="Left" Canvas.Left="97" Canvas.Top="30" x:Name="m_foo" VerticalAlignment="Top" Height="87" Width="128" />
</Canvas>
Run Code Online (Sandbox Code Playgroud)

foo.xaml:

<Border BorderThickness="2" BorderBrush="Black" CornerRadius="15" Background="Plum">
    <Grid>
        <Label Content="Foo" Height="28" HorizontalAlignment="Left" Margin="6,6,0,0" Name="label1" VerticalAlignment="Top" />
    </Grid>
</Border>
Run Code Online (Sandbox Code Playgroud)

然后处理程序是:mycanvas.xaml.cs:

private void CanvasMouseDown(object sender, MouseButtonEventArgs e)
{
    if (e.Source is Foo)
    {
        m_moving = e.Source as Foo;
        CaptureMouse();
        e.Handled = true;
    }
}

private void CanvasMouseMove(object sender, MouseEventArgs e)
{
    if (m_moving != null)
    {
        Canvas.SetLeft(m_moving, e.GetPosition(this).X);
        Canvas.SetTop(m_moving, e.GetPosition(this).Y);
    }
}

private void CanvasMouseUp(object …
Run Code Online (Sandbox Code Playgroud)

wpf canvas mousemove

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