小编And*_*Dev的帖子

如何将Unicode符号添加到Combobox

我需要在组合框中添加一个分区符号作为项目.这是小学数学的正式分裂符号(连字符上方和下方的单点).在unicode中,此符号的代码为"00f7".

我试过这段代码:

myComboBox.addItem("\00f7");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我刚拿到一个方框,然后是'f7'.我知道这段代码适用于添加字符串,因此我必须正确处理unicode部分.

谁能告诉我要改变什么?谢谢!

java unicode swing jcombobox

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

ViewModel 实例化导致无限循环

我正在使用我之前使用过几次的模式来实例化一个ViewModel对象。在这种情况下,数据以字符串形式保存在SharedPreferences. 我只需要读取该字符串,将其解析为正确的对象,然后将该对象作为值分配给我的视图模型。

但是当我做作业时,我创建了一个无限循环。

class UserDataViewModel(private val prefs: SharedPreferences): ViewModel() {

    val userData: MutableLiveData<UserData> by lazy {
        MutableLiveData<UserData>().also {
            val userDataString = prefs.getString(Authenticator.USER_DATA, "")
            val ud = Gson().fromJson(userDataString, UserData::class.java)
            userData.value = ud // infinite loop is here
        }
    }

    fun getUserData(): LiveData<UserData> {
        return userData
    }
}
Run Code Online (Sandbox Code Playgroud)

这是onCreateView()保持对 的引用的片段ViewModel

userDataViewModel = activity?.run {
            ViewModelProviders
                 .of(this, UserDataViewModelFactory(prefs))
                 .get(UserDataViewModel::class.java)
            } ?: throw Exception("Invalid Activity")

userDataViewModel
    .getUserData()
    .observe(this, Observer {
        binding.userData = userDataViewModel.userData.value
    })
Run Code Online (Sandbox Code Playgroud)

FWIW,在片段中,我在getUserData() …

android mvvm android-viewmodel

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

真正基本的SSE

我有一个非常简单的程序,我正在努力提高性能.我知道的一种方法是帮助使用SSE3(因为我工作的机器支持这个),但我完全不知道如何做到这一点.这是一个代码片段(c ++):

int sum1, sum2, sum3, sum4;
for (int i=0; i<length; i+=4) {
  for (int j=0; j<length; j+=4) {
    sum1 = sum1 + input->value[i][j];
    sum2 = sum2 + input->value[i+1][j+1];
    sum3 = sum3 + input->value[i+2][j+3];
    sum4 = sum4 + input->value[i+3][j+4];    
  {
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些关于此的内容,并理解了这个想法,但我完全不知道如何实现这一点.有人可以帮帮我吗?我认为这很简单,特别是对于我的简单程序,但有时候入门是最难的部分.

谢谢!

c++ optimization performance sse sse3

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

如何根据需要将焦点放在文本框中

我在userform上有一个文本框.如果用户无法在此文本框中输入任何内容,我需要捕获该内容以强制输入.我可以很容易地做到这一点,但在通知用户他们需要输入后,我希望焦点返回到文本框.现在,它没有这样做.这是我的代码:

Private Sub txtAnswer_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

Select Case KeyCode
    Case 13:
        If Me.txtAnswer.Value = "" Then
            temp = MsgBox("You need to enter an answer!", vbCritical + vbOKOnly, "No Answer Found!")
            Me.txtAnswer.SetFocus
        Else
            recordAnswer
        End If
    End Select

End Sub
Run Code Online (Sandbox Code Playgroud)

此代码工作正常,如果文本框留空,则弹出消息框.清除消息框后,如果我再次立即按Enter键,则会再次出现消息框,提示焦点位于文本框上.但是,如果我尝试输入一个字符(例如数字'1'),文本框中就不会出现任何内容.

任何人都可以建议我如何以允许用户输入数据的方式将焦点重新放在此文本框上?谢谢!

excel vba textbox excel-vba setfocus

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

转换无效*

我真的很喜欢C,并且在演员表面遇到麻烦.以下是我认为相关的代码行:

#define BUF 1025
char hostname[BUF];

hostname = *(char *) qpop(&queue);
Run Code Online (Sandbox Code Playgroud)

这是我从编译器得到的错误:

错误:从类型char分配类型'char [1025]'时出现不兼容的类型

请注意,函数qpop返回void*.我认为我的问题是如何从void*转换为char [1025].从错误消息中,我似乎要转换为char类型,但不是键入char [1025].我试过这个:

hostname = *(char[1025] *) qpop(&queue)
Run Code Online (Sandbox Code Playgroud)

但那也不起作用.

有人可以帮我理解如何做到这一点吗?谢谢!

c casting void-pointers

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

Linux CFS志愿者上下文切换SCHED_OTHER SCHED_FIFO

我正在为我的OS类做一些Linux CFS分析,并且有一个我无法解释的观察.

对于两个相同的进程,当它们使用SCHED_OTHER策略执行时,我发现自愿上下文切换比使用SCHED_FIFO或SCHED_RR策略执行它们多50%.

这对于非自愿切换不会让我感到意外,因为SCHED_OTHER的优先级要低得多,所以它必须放弃CPU.但为什么自愿开关会出现这种情况.为什么SCHED_OTHER会比实时流程更频繁地自愿放弃CPU?这是一个完全相同的过程,因此只有志愿者在切换到I/O时放弃CPU,对吗?我不认为政策的选择会影响I/O尝试的频率.

任何Linux人都有自己的想法?谢谢!

scheduling linux-kernel

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

无需 Segue 在 UIViewController 之间移动

我有一个故事板,UIViewController上面有 8 个(并且还在增加)。我需要能够根据需要在任意一对之间移动。本质上,我想做的是模仿UITabBarController. 由于其中有很多,我不能只使用UITabBarController(这会立即解决我的问题),所以我使用带有UIPopoverController嵌入式的UITableView来允许用户选择他们的目的地。

当然,我可以在情节提要上创建 Segues,但是要设置我当前需要的所有 Segues,我必须为我现在拥有的视图控制器创建 56 个这样的 Segues,并且随着事情的发展,可能会创建更多 Segues 。

我的一个想法是创建一个“中心”视图控制器,除了将 Segues 保持到每个“真实”VC 并成为每个 VC 的代表之外,它实际上不做任何事情。然后,当我想要在 VC 之间切换时,我首先关闭视图控制器并将目标的 Segue 名称传递回集线器。然后,集线器可以立即执行该转场,这可以让我到达我想要的地方。我认为这会起作用,但似乎有点黑客。

有谁知道是否有更好的方法来实现这一目标?谢谢你!

objective-c uiviewcontroller ios segue

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

jQuery 单击事件不会为 div 触发

我不明白为什么这不起作用。我有一个表,在标题中包含一个 div 和一个图像。当我点击这个时,我想通过一个 jQuery 函数触发点击事件。这是 HTML 的屏幕截图:

在此处输入图片说明

这是 jQuery 函数:

$(document).ready(function () {
    console.log('ready');

    $('#add_external_link').on('click',function(){
        alert('clicked');
    });
});
Run Code Online (Sandbox Code Playgroud)

我相信元素在绑定事件之前就在 DOM 中。HTML 的尾部看起来像这样(它是包含上面的 jQuery 语言的“external_link_dialog.js”文件):

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
        <script src="js/jquery.dlmenu.js"></script>
        <script src="js/external_link_dialog.js"></script>

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的控制台输出ready在页面加载后立即显示。但是,当我点击它时<div>,没有任何反应。我没有看到错误,没有控制台输出,当然也没有警报。谁能看到我做错了什么?我已经在这里待了几个小时,并且没有想法。谢谢!

html javascript jquery

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

值更新时不调用 Android BindingAdapter

Activity、二Fragment有共同点ViewModel。我已经验证每个片段中的视图模型引用都是相同的。

在片段一的布局 XML 中,有一个TextInputLayout. 片段二用布尔值更新视图模型。文本输入布局正在观察该值,并且应该BindingAdapter在该值更改时调用 a 。

当片段实例化并且它们的布局膨胀时,绑定适配器会触发,所以我知道视图正在观察这个值。但是,稍后,当片段二更新值时,片段一中的视图不会触发绑定适配器。

这是onCreateView()片段一中的内容:

registrationViewModel = activity?.run {
            ViewModelProviders
                .of(this, RegistrationViewModelFactory(prefs, dataFetcherService))
                .get(RegistrationViewModel::class.java)
        } ?: throw Exception("Invalid Activity")
Run Code Online (Sandbox Code Playgroud)

这是观察该视图模型的视图:

    <com.google.android.material.textfield.TextInputLayout
                android:id="@+id/reg_auth_code_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
bind:errorState="@{registrationViewModel.registrationData.authorizationError}"
                bind:errorMessage="@{@string/invalid_auth_code}">

                <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/reg_auth_code"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@{registrationViewModel.registrationData.authCode}"
                    android:hint="@string/enter_auth_code"
                    android:maxLines="1"
                    android:inputType="text"
                    android:imeOptions="actionDone"
                    app:autoSizeTextType="uniform"/>

            </com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

至于片段二,onCreateView() 中的代码相同:

registrationViewModel = activity?.run {
            ViewModelProviders
                .of(this, RegistrationViewModelFactory(prefs, dataFetcherService))
                .get(RegistrationViewModel::class.java)
        } ?: throw Exception("Invalid Activity")
Run Code Online (Sandbox Code Playgroud)

单击按钮时,片段二会在视图模型中触发一个活动:

private fun attemptNavigationToUserData() {
    viewModelScope.launch {
        isAuthorized = runBlocking { …
Run Code Online (Sandbox Code Playgroud)

android android-databinding android-livedata

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

简单的segue在xcode 7中不起作用

使用此命令执行了几个月的简单segue:

[self performSegueWithIdentifier:@"ExpirationWarningSegue" sender:self];
Run Code Online (Sandbox Code Playgroud)

现在产生这个错误:

***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法执行带有标识符'expirationWarningSegue'的segue.segue必须有一个performHandler,或者它必须覆盖-perform.

什么?这是一个骗局.我UIViewController在故事板中命令 - 从一个拖到另一个.我不是为此编写代码.segue在故事板中使用此确切标识符定义.

为什么现在我已经升级到xcode 7时曾经工作得很好?

objective-c ios segue

0
推荐指数
1
解决办法
2414
查看次数