Как вызвать клик по выделению в bixby - PullRequest
0 голосов
/ 18 февраля 2019

Мое приложение в основном предоставляет пользователю три варианта выбора.

1: я использую result-view и cell-card.когда я использовал для каждого из них, я смог щелкнуть карточку и вызвать намерение, которое показывает пользователю дополнительную информацию в виде compound-card.Теперь, чтобы пользователь мог выбрать опцию, говоря сначала, второй ИЛИ третий, мне нужно использовать navigation-support и для этого мне нужно использовать list-of в result-view.После использования list-of я не могу вызвать намерение on-click.Как этого добиться?

2: Как вызвать это намерение, если пользователь говорит первое, второе или третье.Прямо сейчас, если пользователь выбирает, говоря первым, вторым и третьим, он выталкивает упомянутое cell-card, исключая два других.Как этого добиться?

Мой результат просмотра:

result-view {
  match: ArtistChoiceResult (artistchoice) {
    from-output: ArtistChoice
  }
  message {template("Here is the upcoming event")}
  list-of (artistchoice) {
    navigation-mode {
      read-many {
        page-size(3)
        underflow-statement (This is the first set)
        item-selection-question (Which one would you like?)
        overflow-statement (That's all I have)
      }
    }
    where-each (one) {
      layout-match (one) {
        mode (Summary)
      }
    }
  }

layout-match похож на это

 layout {
   match: ArtistChoiceResult (singleArtist)
   mode(Summary)
   content{
    section{
     content{
       cell-card {
        slot1 {
          image {
           url ("#{value(singleArtist.multiple_image)}")
            shape (Square)
          }
        }
        slot2 {
          content {
            order (PrimarySecondary)
            primary ("#{value(singleArtist.multiple_name)}")
            secondary ("#{value(singleArtist.multiple_cat)}")
          }
        }
        on-click {
          intent {
            goal: ArtistChoice
            value-set:MultipleID{$expr(singleArtist.multiple_id)}
          }
        }
      }
    }
  }
}
}

Файл поддержки навигации:

 navigation-support {
  match: ArtistChoiceResult (this) 
  ordinal-selection-patterns {
    pattern ("(first)[v:viv.core.OrdinalSelector]")
    pattern ("(first)[v:viv.core.OrdinalSelector] one")
    pattern ("that (first)[v:viv.core.OrdinalSelector] one")

    pattern ("yes (first)[v:viv.core.OrdinalSelector]")
    pattern ("yes (first)[v:viv.core.OrdinalSelector] one")
    pattern ("yes that (first)[v:viv.core.OrdinalSelector] one")

    pattern ("result number (one)[v:viv.core.CardinalSelector:1]")
    pattern ("the (first)[v:viv.core.CardinalSelector:1]")

    pattern ("select (first)[v:viv.core.OrdinalSelector] one")
    pattern ("select (first)[v:viv.core.OrdinalSelector]")
  }
}

1 Ответ

0 голосов
/ 19 февраля 2019

Несколько проблем с вашим кодом

  1. Вы создали намерение в Сводной макете.Документация гласит: https://bixbydevelopers.com/dev/docs/reference/type/layout-macro-def.content.cell-card

    Если у вас есть эта карта для отображения результатов с помощью list-of, то при нажатии на карту открывается выбранный элемент в режиме сведений, и заданное намерение не передается

  2. Если вы попытаетесь использовать layout-match внутри where-each, в среде IDE отобразится ошибка WARN_DEPRECATED.Хотя сейчас это может не вызывать ошибок компиляции, рекомендуется использовать layout-macro

Предложения, чтобы попробовать:

  1. Используйте макет макета для определения макетов(Сводка и подробности)
  2. Добавить намерение в макете Сведения
...