小编Pir*_*App的帖子

使用ItemTouchHelper滑动后如何重置ViewHolder

我正在尝试使用ItemTouchHelper.Callback使用RecyclerView实现“刷卡删除”。我的商品在RecyclerView中的代码如下所示

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<TextView
    android:id="@+id/undo"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:background="#FF4536"
    android:gravity="center_vertical"
    android:padding="16dp"
    android:text="Delete"
    android:textColor="#FFF" />

<TextView
    android:id="@+id/area"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:background="#FFF"
    android:gravity="center_vertical"
    android:padding="16dp"
    android:text="Data"
    android:textColor="#444" />
Run Code Online (Sandbox Code Playgroud)

我的ItemTouchHelper.Callback实现的代码如下所示

public class TouchHelper extends ItemTouchHelper.Callback {

private DataAdapter mListener;

public TouchHelper(DataAdapter listener) {
    mListener = listener;
}

@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
    return makeMovementFlags(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.START | ItemTouchHelper.END);
}

@Override
public boolean isLongPressDragEnabled() {
    return false;
}

@Override
public boolean isItemViewSwipeEnabled() {
    return true;
} …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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

使用 commitlint 的第一条提交消息应该是什么?

如果我使用 @commitlint/config-conventional,那么使用 Commmitlint 的第一条提交消息应该是什么?是壮举:第一次提交还是构建:第一次提交还是琐事:第一次提交?

commit git-commit commitlint

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

如何有效地获取每个资产的最后时间戳,而不需要对 timescaledb 进行顺序扫描?

我有一张桌子

| Asset |   timestamp   | open | high | low | close | volume |
|-------|---------------|------|------|-----|-------|--------|
| AAPL  | 1551274920000 | 200  | 300  | 200 | 250   | 10240  |
| AAPL  | 1551274980000 | 201.4| 299.5| 200 | 244.5 | 11871  |
| GOOG  | 1551274980000 | 471.2| 488.2|464.6| 474.84| 5476.58|
Run Code Online (Sandbox Code Playgroud)

如何获取每个资产的最新时间戳。这是我到目前为止所尝试的

方法一

SELECT symbol, max(ts) from ohlc_60 group by symbol;

This seems to scan all the chunks
explain select symbol, max(ts) from ohlc_60 group by symbol; …
Run Code Online (Sandbox Code Playgroud)

sql postgresql greatest-n-per-group timescaledb

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

由于没有服务器,我应该在新的 nuxt.js 设置中的何处添加此 websocket 代码?

  • 我正在使用没有服务器文件夹的新版本 Nuxt
  • 在旧版本中,您有一个服务器文件夹和一个包含应用程序的 index.js
  • 我想用新版本的 NuxtJS 添加 websocket WS 库

该库需要您通过调用 http.createServer(app) 创建的服务器实例,这意味着正在运行的 Express 应用程序的实例。您现在将使用此服务器实例来侦听 index.js 文件中的 3000。还要创建一个 sessionHandler,您可以通过使用 express-session 库调用 session({}) 来获取它

const WebSocket = require('ws')
function websocket({ server, sessionHandler, logger }) {
  // https://github.com/websockets/ws/blob/master/examples/express-session-parse/index.js, if you pass a server instance here 'upgrade' handler will crash
  const wss = new WebSocket.Server({ noServer: true })
  function noop() {}
  function heartbeat() {
    this.isAlive = true
  }
  wss.on('connection', (ws, request, client) => {
    ws.isAlive = true
    ws.on('pong', heartbeat)
    ws.on('message', (msg) => { …
Run Code Online (Sandbox Code Playgroud)

websocket vue.js nuxt.js ws

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

如何使用bot框架在多个facebook页面上使用相同的bot

我有几个facebook页面,我想在每个页面上运行相同的机器人.我正在使用机器人框架,现在一切都适用于一页.如何与多个页面关联?

bots chatbot facebook-chatbot facebook-messenger-bot

3
推荐指数
2
解决办法
4140
查看次数

在基于打字稿的设置上运行续集播种机时出错

我想在我的express api上使用sequelize播种机和迁移,目前所有模型都是使用sequelize-typescript以typescript编写的

我尝试使用打字稿添加我的第一个种子文件,但运行时出现错误

20221028050116-feeds.ts播种文件

'use strict';

import { QueryInterface } from 'sequelize';

const feedTypes = [
  { id: 'b871a455-fddb-414c-ac02-2cdee07fa671', name: 'crypto' },
  { id: '68b15f90-19ca-4971-a2c6-67e66dc88f77', name: 'general' },
];
const feeds = [
  {
    id: 1,
    name: 'cointelegraph',
    url: 'https://cointelegraph.com/rss',
    feed_type_id: 'b871a455-fddb-414c-ac02-2cdee07fa671',
  },
];

module.exports = {
  up: (queryInterface: QueryInterface): Promise<number | object> =>
    queryInterface.sequelize.transaction(async (transaction) => {
      // here go all migration changes
      return Promise.all([
        queryInterface.bulkInsert('feed_types', feedTypes, { transaction }),
        queryInterface.bulkInsert('feeds', feeds, { transaction }),
      ]);
    }), …
Run Code Online (Sandbox Code Playgroud)

database-migration node.js sequelize.js typescript sequelize-cli

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

查找表中不存在的 IDS

我有一堆 md5 id

6c26e28dc6484f0e998fd18b883de4c6
2bf4d0d85709c75adba13ba48011d62c
a67a5bcf329d58d2c23ed422214f66b3
...
Run Code Online (Sandbox Code Playgroud)

其中一些已出现在表中,一些是新的。我如何找到表中不存在的这些 id 如果我这样做

select id from items where id not iN (...) 
Run Code Online (Sandbox Code Playgroud)

然后它会排除所有 id

如果我做

select id from items where id IN (...)
Run Code Online (Sandbox Code Playgroud)

它只给出存在的 id,我必须以编程方式查找不存在的 id 如何直接获取不存在的 IDS

数据库:postgresql

sql postgresql where-in

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

错误 ServerMiddleware 应公开句柄 nuxt

  • 新的 nuxt.js 设置不附带服务器文件夹
  • 您创建一个 API 文件夹并在其中放置一个公开服务器的文件
  • 我正在尝试使用 websockets 使用ws库来解析用户会话并收到此错误

这是我放置在 api 文件夹中的 app.js 代码

import http from 'http'
import logger from 'express-pino-logger'
import express from 'express'
import cookieParser from 'cookie-parser'
import WebSocket from 'ws'
const app = express()
const sessionParser = cookieParser()
const map = new Map()
app.use(logger())
app.use(express.json())
app.use(express.urlencoded({ extended: true }))
app.use(sessionParser)
app.use('/v1', (req, res) => res.json('hello'))

const server = http.createServer(app)
const wss = new WebSocket.Server({ noServer: true })

wss.on('connection', function connection(ws, request, client) {
  ws.on('message', …
Run Code Online (Sandbox Code Playgroud)

websocket nuxt.js ws

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

如何从 nuxt 路由器模块的 router.js 文件访问 Vuex 存储?

  • 我在用nuxt-community/router-module
  • 它要求您创建一个router.js可以添加全局路由配置的文件
  • 如何从该文件访问商店?

javascript vue-router nuxt.js

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

导航到 Bulma 中的不同链接时,如何关闭可悬停下拉菜单?

这是一个包含问题的沙盒

  • 我在导航栏中有一个可悬停的下拉菜单
  • 当我移至其他页面时,下拉菜单仍然打开
  • 我已经在普通布尔玛中尝试过此操作,问题仍然存在
  • 我在 Nuxt.js 上使用 SSR
  • 我正在使用 nuxt-link / Vue router-link 的等效项来导航到不同的页面。

这是我的default.vue 文件

<template>
  <div class="ch-container">
    <header class="ch-header">
      <nav
        class="navbar is-fixed-top"
        role="navigation"
        aria-label="main navigation"
      >
        <div class="navbar-brand">
          <nuxt-link class="navbar-item" to="/">
            <img
              alt="CH Logo"
              src="https://i.imgur.com/v35Kfc9.png"
              width="28"
              height="28"
            />
          </nuxt-link>

          <a
            role="button"
            class="navbar-burger burger"
            aria-label="menu"
            aria-expanded="false"
            data-target="navbarBasicExample"
          >
            <span aria-hidden="true"></span>
            <span aria-hidden="true"></span>
            <span aria-hidden="true"></span>
          </a>
        </div>

        <div id="navbarBasicExample" class="navbar-menu">
          <div class="navbar-start">
            <nuxt-link class="navbar-item" to="/news">
              News
            </nuxt-link>

            <nuxt-link class="navbar-item" to="/resources">
              Resources
            </nuxt-link>

            <nuxt-link class="navbar-item" to="/tickers">
              Tickers
            </nuxt-link>

            <div class="navbar-item has-dropdown …
Run Code Online (Sandbox Code Playgroud)

hover vue.js dropdown bulma nuxt.js

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