我在onreceive方法中响应我的appwidget上的按钮按下.当我按下按钮时,我想强制小部件调用onupdate方法.我该如何做到这一点?
提前致谢!
我希望CodeMirror 6 编辑器实例的内容/值反映在外部变量中,当文本更改时,变量会更改/同步。
如何在CodeMirror 6中做到这一点?
let sync_val = "";
import {EditorView} from "@codemirror/view"
import {EditorState} from "@codemirror/state"
let myView = new EditorView({
state: EditorState.create({doc: "hello"}),
parent: document.body
})
myView.onChange(function(val) {
sync_val = val;
});
Run Code Online (Sandbox Code Playgroud) 学习小部件3天后,我终于了解了setOnClickPendingIntent,RemoteViews ......我已经完成了我的小部件.它已经在很多教程的帮助下完成了.但现在我想测试它是否有效.在我读到的时候,最低更新率是30分钟.另一种方法是使用AlarmManager.但是我找不到AlarmManager的任何例子.等了30分钟后,什么也没发生.我改变了一些东西,还在等待,它改变了......
有没有办法更快地测试它?
<?xml version="1.0" encoding="utf-8" ?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="65dip"
android:minHeight="30dip"
android:updatePeriodMillis="180000"
android:initialLayout="@layout/main" />
Run Code Online (Sandbox Code Playgroud)
CountWidget
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;
public class CountWidget extends AppWidgetProvider {
private static final int[] IMAGES = { R.drawable.die_1, R.drawable.die_2,
R.drawable.die_3, R.drawable.die_4, R.drawable.die_5,
R.drawable.die_6 };
public static String ACTION_WIDGET_RECEIVER = "ActionReceiverWidget";
public static String ACTION_WIDGET_CONFIGURE = "ConfigureWidget";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
ComponentName me = new ComponentName(context, CountWidget.class);
appWidgetManager
.updateAppWidget(me, buildUpdate(context, …
Run Code Online (Sandbox Code Playgroud) 我已经尝试将他们的代码调整到我的目的,我尝试了直接复制粘贴.似乎无论我做什么,我的小部件都不会更新.当它放在主屏幕上时,文本将保留为创建它的静态文本.我需要这个应用程序才能更新4个TextViews,它将包含在布局中.
下面的代码主要是从其中一个教程中复制而来.我已经尝试过调试onUpdate方法,但是破解点似乎永远不会受到影响.
任何帮助将不胜感激.
编辑:我恢复了这个小部件的一个更简单的版本,我之前尝试过我的努力,并用更简单的小部件的代码替换下面的代码.我将CommonsWare建议的更改发送到我的清单.不幸的是问题仍然存在
我的主要.java文件看起来像这样:
public class NetStatWidget extends AppWidgetProvider
{
public void onUpdate(Context context, AppWidgetManager manager, int[] appWidgetIds)
{
ComponentName thisWidget = new ComponentName(context, NetStatWidget.class);
int[] widgetId = manager.getAppWidgetIds(thisWidget);
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.appwidget);
remoteView.setTextViewText(R.id.textView0, "Hello");
manager.updateAppWidget(widgetId, remoteView);
}
}
Run Code Online (Sandbox Code Playgroud)
我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.stat"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name="NetStatWidget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/providerinfo" />
</receiver>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我的Widget提供商信息: …
所以我想在选项卡重新加载指定的URL时运行脚本.它几乎可以工作,但实际上id不会:)这是我的清单文件:
{
"manifest_version": 2,
"name": "Sample Extension",
"description": "Sample Chrome Extension",
"version": "1.0",
"content_scripts":
[
{
"matches": ["http://translate.google.hu/*"],
"js": ["run.js"]
}
],
"permissions":
[
"activeTab",
"tabs"
],
"browser_action":
{
"default_title": "Sample",
"default_icon": "icon.png"
}
}
Run Code Online (Sandbox Code Playgroud)
这是run.js:
chrome.tabs.onUpdated.addListener(
function ( tabId, changeInfo, tab )
{
if ( changeInfo.status === "complete" )
{
chrome.tabs.executeScript( null, {file: "program.js"} );
}
}
);
Run Code Online (Sandbox Code Playgroud)
programs.js只是提醒一些文本(还).当我向run.js的第一行发出警报时,它会发出警报,但是当我把它放在if中时,却没有.我找不到问题.我输错了什么吗?
因此,在我的AppWidgetProvider类中的onUpdate方法中,我最终执行了一些非常重要的代码,以便我可以完全重新创建一个新的RemoteViews对象.实际情况是,我真的只需要在每次更新时在RemoteView中的一个textview中设置文本.反正只是修改特定小部件已经使用的RemoteViews吗?
-Kurtis
如何从处于编辑模式的GridView行获取基础DataItem,并且用户单击"更新"?
我有一个可编辑的GridView.我已将CustomValidator添加到其中一列的Edit视图中.当用户单击Update I时,运行服务器验证方法并需要获取正在编辑的行的基础DataItem,以便我可以获取数据项的主键以用于验证.
GridView1.Rows[GridView1.EditIndex].DataItem;
Run Code Online (Sandbox Code Playgroud)
这不起作用.我猜是因为GridView没有在update命令上进行数据表示?
我的数据库表具有定义为使用的列ON UPDATE CURRENT_TIMESTAMP
:
last_access
当记录中的其他数据均未更改时,如何强制该字段为给定记录更新?
所以,我得到:
错误代码:1451。无法删除或更新父行:外键约束失败(
playground
.Person
、CONSTRAINTsk_Person_Parent
FOREIGN KEY (parent_id
) REFERENCESPerson
(id
) ON DELETE CASCADE ON UPDATE CASCADE)
这是一个简单的表格,引用自身:
CREATE TABLE IF NOT EXISTS Person (
id int not null primary key,
name varchar(100) not null,
parent_id int null,
CONSTRAINT `sk_Person_Parent`
FOREIGN KEY (parent_id)
REFERENCES Person (id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
Run Code Online (Sandbox Code Playgroud)
如您所见,有“ON UPDATE CASCADE”。我在其中插入 4 个简单的行:
INSERT INTO Person(id, name, parent_id)
VALUES
(1, 'vasko', NULL),
(2, 'asdas', 1),
(3, 'ivo', 1),
(4, …
Run Code Online (Sandbox Code Playgroud) 我已经阅读了一些解决方案,其中没有一个是无忧无虑的,所以我想现在可能有一些现代解决方案可以解决这个问题.无论如何,它应该存在一段时间了.最近的jQuery更新中的某些内容是什么?
我像这样设置我的表单字段:
parent.window.document.getElementById(parent.window.imageInputField).value = '{{ path }}'+image;
Run Code Online (Sandbox Code Playgroud)
我有一个像这样的onchange事件,我想在上面的字段更新中触发.
$('#data_1').change(function(){
img = "url(" + $('#data_1').val() + ")"
$('#slide_bg').css("backgroundImage", img );
});
Run Code Online (Sandbox Code Playgroud)
UPDATE
所以这段代码工作正常:
alert( $('#'+parent.window.imageInputField, window.parent.document).val() );
Run Code Online (Sandbox Code Playgroud)
虽然这没有做任何事情,没有错误或没有
$('#'+parent.window.imageInputField, window.parent.document).change();
Run Code Online (Sandbox Code Playgroud)
更改事件在此处定义
$('#data_1').change(function(){
alert('change event called');
img = "url(" + $('#data_1').val() + ")"
$('#slide_bg').css("backgroundImage", img );
});
Run Code Online (Sandbox Code Playgroud)
这很完美:
<input type='button' value='Uppdatera förhandsgr.' onclick="$('#data_1').change()" />
Run Code Online (Sandbox Code Playgroud)
我想要的只是触发这个按钮的功能,但是通过代码...任何人都能看到我哪里出错了?