小编Dam*_*les的帖子

Kotlin 短文字前置/后缀?

下面的代码抛出一个错误,==不能在int和short之间应用。

if(shortVal == 3)
Run Code Online (Sandbox Code Playgroud)

Kotlin 是否有办法表示数字文字是一个短字符,例如3S

kotlin

9
推荐指数
1
解决办法
1496
查看次数

VS 2022 更改项目变量,如 $(AssemblyName)

如何更改变量$(AssemblyName)?我找不到它们的定义位置。

在此输入图像描述

visual-studio-2022

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

WPF,ListBox的ItemTemplate有CheckBox,但CheckBox似乎不是项目

我只是想要用于Windows Forms的CheckListBox.

    <ListBox>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <CheckBox  Content="{Binding Name}"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

起初这似乎有效,但存在许多问题.简而言之,它就像CheckBox漂浮在真实项目上,而不是CheckBox是项目.

我的意思是,(1)单击复选框的文本将不会选择ListBox项目,(2)按向上和向下键不会聚焦复选框.我必须单击复选框才能聚焦它.我搜索过谷歌的解决方案,但没有干净的解决方案.我想要太多了吗?

我只想要CheckedListBox的行为......

我通过处理复选框的PreviewMouseDown事件并手动选择项目来解决(1)问题.它看起来不干净.

keyboard wpf listbox focus checkedlistbox

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

MonoMac被​​弃用了吗?

MonoMac的页面似乎被放弃了.它似乎是几年前的最后一次更新,因为它说"Mountain Lion"是"新的"操作系统.

适用于AppKit的新Lion和Mountain Lion API

MonoMac在Xamarin Studio中处于"Unsupported"状态(我想下载Mono Develop,但页面会自动重定向到Xamarin Studio).

那么MonoMac是否已被弃用,或者它是否仍在与Xamarin.Mac一起积极开发?

mono monodevelop monomac xamarin.mac

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

Chrome 扩展程序:如何向网站上的页面添加按钮并为其添加点击处理程序?

我正在尝试使用 Chrome 扩展程序向第三方网站上的页面动态添加一个按钮,并为该按钮添加一个点击处理程序。我已经阅读了Chrome 扩展程序中的onClick 不起作用,在单独的js文件中添加了处理程序。

问题在于 Chrome 试图js在网络服务器中而不是在扩展程序中找到该文件。所以,404 发生了。

假设网页是“ http://www.somecompany.com/somepage.html ”。我的扩展代码如下。

    var aButton = document.createElement('button');
    aButton.id = "aButton";
    thatDiv.appendChild(aButton);

    var aScript = document.createElement("script");
    aScript.src="aButtonHandler.js";
    thatDiv.appendChild(aScript);   
Run Code Online (Sandbox Code Playgroud)

Chrome 尝试加载“ http://www.somecompany.com/aButtonHandler.js ”,当然真正的网站没有那个脚本,所以 404 发生了。如何向网站添加按钮并alert("hello");在单击该按钮时执行?


添加

我将代码添加aButtonHandler.js到内容脚本本身的末尾,但什么也没发生。怎么了?

内容脚本.js

addButton();

function addButton()
{
    //adds a button by the code above.
}

document.addEventListener('DOMContentLoaded', function() {
    var theButton = document.getElementById('aButton');
    theButton.addEventListener('click', function() {
        alert('damn');
    });
});
Run Code Online (Sandbox Code Playgroud)

添加

这奏效了。

内容脚本.js

addButton();

function addButton()
{
    //adds …
Run Code Online (Sandbox Code Playgroud)

javascript onclick google-chrome-extension

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

Eclipse (4.14.0),更改编辑器背景颜色

我已将主题设置为“深色”,并更改了编辑器背景/前景色,但它不起作用(仅更改了行号背景)。于是,我在网上搜索了一下,发现了现有的问题。但答案和我已经做过的一样。

方法变了吗?为什么我不能将编辑器背景设置为全黑,文本设置为全白?

在此输入图像描述

eclipse

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

Kotlin的"@Parcelize"是否适用于非数据类?

我有简单的数据类.我的意思是,它们在逻辑上是数据类,但不是data class,因为我需要继承和其他构造函数.他们只有(基本类型的字段Int?,String?List<String>?和构造函数等).

我需要将它们(它们的所有字段都需要传递)从Activity传递给Activity,所以我需要让它们成为parcellisable(或者有更好的方法吗?).我首先创建它们data class并且刚刚添加@Parcelize.即使有一条警告和红线表示"CREATOR"或其他东西,我可以忽略它们,并且应用程序按预期工作.

但是,由于上述原因,我将它们更改为普通类,突然出现编译错误.

Error:java.util.NoSuchElementException: Collection contains no element matching the predicate.
    at org.jetbrains.kotlin.android.parcel.ParcelableCodegenExtension.getPropertiesToSerialize(ParcelableCodegenExtension.kt:374)
    ....too long...
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Error:Execution failed for task ':app:kaptGenerateStubsDebugKotlin'. Internal compiler error. See log for more details
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?我应该用data class吗?但是我需要解析一个JSON对象来创建它们.这些类看起来像这些(不是实际的类,但为了说明目的而简化).有没有比手工实施那些无聊,笨重的可分割代码更好的方法?

@Parcelize
open class Dog():Parcelable
{
    var someField1;
    var someField2;
    constructor(data:JSON):this()
    {
       //parse data to set the fields.
    }
}

@Parcelize
class Doge:Dog
{
    var someField3;
    var someField4;

    constructor():super(); …
Run Code Online (Sandbox Code Playgroud)

android kotlin

6
推荐指数
1
解决办法
2241
查看次数

什么是Kotlin与C#中的标志枚举变量具有类似效果的方式

在C#中,我可以做到这一点.

[Flags]
enum BeerProperty
{
    Bold = 1,
    Refreshing = 2
}

static void Taste(BeerProperty beer)
{
    if (beer == (BeerProperty.Bold | BeerProperty.Refreshing))
    {
        Debug.WriteLine("I can't qutie put my finger on...");
    }
}

static void Main(string[] args)
{
    var tickBeer = BeerProperty.Bold | BeerProperty.Refreshing;
    Taste(tickBeer);
}
Run Code Online (Sandbox Code Playgroud)

在Kotlin,似乎我不能"或"两个旗帜.Kotlin的做法是什么?使用枚举变量列表?

enum class BeerProperty(value:Int)
{
    Bold(1),
    Refreshing(2)
}

fun taste(beer:BeerProperty)
{
    if(beer == (BeerProperty.Bold | BeerProperty.Refreshing))
    {
        print("I can't qutie put my finger on...");
    }
}

fun main(args: Array<String>)
{
    val tickBeer = BeerProperty.Bold …
Run Code Online (Sandbox Code Playgroud)

kotlin

6
推荐指数
2
解决办法
1217
查看次数

Blazor:在一定时间间隔内轮询服务器的对象?

Blazor 似乎使客户端可以轻松地使用下面称为 SignalR 的东西来调用服务器的方法。但是当我搜索 Blazor 是否在另一个方向上这样做时,答案是 Blazor 不会这样做,我必须自己使用 SignalR 来实现它。所以,我想到了投票。

也就是说,我喜欢按一定时间间隔读取服务器对象中的属性或调用方法来确定某些内容是否已更改。为了测试这一点,我将此属性添加到WeatherForecastService类中。每次读取时属性都会增加。

    int _Value = 0;
    public int Value
    {
        get
        {
            _Value++;
            return _Value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

在天气平板电脑示例中,我删除了显示天气的代码并添加了此代码。

<p>This component demonstrates fetching data from a service.</p>

<div>Value = @this.Value</div>

@code {
    private int Value = 0;

    protected override async Task OnInitializedAsync()
    {
        System.Timers.Timer t = new System.Timers.Timer();
        t.Elapsed += (s, e) => { Value = ForecastService.Value; };
        t.Interval = 1000;
        t.Start();
    }
}
Run Code Online (Sandbox Code Playgroud)

但这没有用。我发现了一个现有的问题,但它使用了我不理解的 F#,而且我不知道它是什么ClientTImer,所以答案对我没有帮助。

asp.net-core blazor blazor-client-side

6
推荐指数
1
解决办法
2778
查看次数

当键盘关闭时从 TextField 中移除焦点

当键盘关闭时,文本字段似乎不会失去焦点。这使得光标不断闪烁,更严重的是,当主窗口再次获得焦点时,例如在显示对话框后,键盘再次弹出。当键盘关闭时,我可以使 TextField 失去焦点吗?

return Scaffold(
  body: Padding(
    padding: EdgeInsets.all(16),
      child: Center(
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        TextField(decoration: InputDecoration(hintText: "Example"),),
        RaisedButton(
            child: Text("Test"), onPressed: () => onButtonClick(context))
      ],
    ),
  )),
);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

flutter

6
推荐指数
1
解决办法
1605
查看次数