可定制的按钮,它是正确的还是有更好的选择?

时间:2016-03-05 22:12:47

标签: android int android-tv smart-tv

我想自定义按钮,到位“title0,TITLE1”等。我想放一些属于我自己的东西,LocalVideo,listvideo等。 我发现它的唯一解决方案。但我不认为这是正确的。 肯定是不同的东西。

代码库存:

 Couldn't match expected type `[(Char, String, Integer)]
                                  -> Integer -> Maybe Integer'
                with actual type `Maybe Int'
    The lambda expression `\ ff c (h : t) pos -> ...'
    has four arguments,
    but its type `((Char, String, Integer) -> Maybe Int)
                  -> (Char, String, Integer) -> Maybe Int'
    has only two
    In the first argument of `y', namely
      `(\ ff c (h : t) pos
          -> if (c == h) then Just pos else ff c t (pos + 1))'
    In the expression:
      y (\ ff c (h : t) pos
           -> if (c == h) then Just pos else ff c t (pos + 1))
        (c, l, 0)


    Couldn't match expected type `[(Char, String, Integer)]
                                  -> Integer -> Maybe Integer'
                with actual type `Maybe Int'
    The function `ff' is applied to three arguments,
    but its type `(Char, String, Integer) -> Maybe Int' has only one
    In the expression: ff c t (pos + 1)
    In the expression: if (c == h) then Just pos else ff c t (pos + 1)

代码已更改:

                /* CardPresenter */
    HeaderItem cardPresenterHeader = new HeaderItem(1, "CardPresenter");
    CardPresenter cardPresenter = new CardPresenter();
    ArrayObjectAdapter cardRowAdapter = new ArrayObjectAdapter(cardPresenter);

    for(int i=0; i<3; i++) {
        Movie movie = new Movie();
        if(i%3 == 0) {
            movie.setCardImageUrl("http://heimkehrend.raindrop.jp/kl-hacker/wp-content/uploads/2014/08/DSC02580.jpg");
        } else if (i%3 == 1) {
            movie.setCardImageUrl("http://heimkehrend.raindrop.jp/kl-hacker/wp-content/uploads/2014/08/DSC02630.jpg");
        } else {
            movie.setCardImageUrl("http://heimkehrend.raindrop.jp/kl-hacker/wp-content/uploads/2014/08/DSC02529.jpg");
        }
        movie.setTitle("title" + i);
        movie.setStudio("studio" + i);
        cardRowAdapter.add(movie);
    }

    mRowsAdapter.add(new ListRow(cardPresenterHeader, cardRowAdapter));

1 个答案:

答案 0 :(得分:1)

如果您提到this site,请问我。

这是你想要的吗?

    /* CardPresenter */
    HeaderItem cardPresenterHeader = new HeaderItem(1, "CardPresenter");
    CardPresenter cardPresenter = new CardPresenter();
    ArrayObjectAdapter cardRowAdapter = new ArrayObjectAdapter(cardPresenter);

    // Create movie1 object
    Movie movie1 = new Movie();
    movie1.setCardImageUrl("http://heimkehrend.raindrop.jp/kl-hacker/wp-content/uploads/2014/08/DSC02580.jpg");
    movie1.setTitle("Videoview");
    movie1.setStudio("Video local video");

    // Create movie2 object
    Movie movie2 = new Movie();
    movie2.setCardImageUrl("http://heimkehrend.raindrop.jp/kl-hacker/wp-content/uploads/2014/08/DSC02580.jpg");
    movie2.setTitle("Listview");
    movie2.setStudio("Listview local video");

    // put movie1 and movie2 into cardRowAdapter
    cardRowAdapter.add(movie1);
    cardRowAdapter.add(movie2);

    // show cardRowAdapter in listrow
    mRowsAdapter.add(new ListRow(cardPresenterHeader, cardRowAdapter));