0

所以我使用这个很棒的卡片库(CardsUI)并试图弄清楚如何以语法方式将我自己的文本插入到这些视图中。我的主要活动是解析 JSON 数据,现在我想使用 JSON 中的数据并将文本插入卡片中。这是我到目前为止的一些代码。

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_hello_enlighten);

      // the id title is referencing the title in my card layout below
    system_id = (TextView) findViewById(R.id.title);

    system_name = (TextView) findViewById(R.id.system_name);

    CardUI mCardView = (CardUI) findViewById(R.id.cardUI1);
    mCardView.setSwipeable(false);

    // add AndroidViews Cards
    mCardView.addCard(new MyCard("Get the CardsUI view"));
    mCardView.addCardToLastStack(new MyCard("for Android at"));
    MyCard androidViewsCard = new MyCard("www.androidviews.net");

    mCardView.addCardToLastStack(androidViewsCard);      
    // draw cards
    mCardView.refresh();

            // Here is my JSON Parsing activity.
            new ProgressTask(WelcomeYou.this).execute();        
      }

我的卡片布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="16dp" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:paddingLeft="8dp"
    android:paddingRight="8dp" >

    <TextView
        android:id="@+id/title"
        style="@style/CardTitle"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="title" />

</LinearLayout>

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:layout_marginTop="4dp"
    android:background="@color/stroke" />

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/selectable_background_cardbank"
    android:gravity="center_vertical"
    android:padding="4dp" >

    <TextView
        android:id="@+id/description"
        style="@style/CardText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:ellipsize="end"
        android:maxLines="4"
        android:text="description" />
</LinearLayout>

</LinearLayout>

我只是想把文本放到这里mCardView.addCard(new MyCard("PUT JSON STRING HERE"));

4

1 回答 1

1

我知道这个问题是不久前发布的,但我现在才使用 CardUI,我已经让它工作了。我不知道 R.id.activity_hello_enlighten 包含什么,但如果您查看其源代码提供的示例,您的活动布局应该使用 CardUI 组件。

示例布局中的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<com.fima.cardsui.views.CardUI
    android:id="@+id/cardsview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

否则,实际上没有任何东西将您的卡片渲染到屏幕上。

完成此操作后,使用以下代码获取指向布局引用的 CardUI(在示例代码中称为 cardsview)的指针:

mCardView = (CardUI) findViewById(R.id.cardsview);

之后,就像添加一张新卡一样简单,如下所示:

mCardView.addCardToLastStack(new MyCard("Your card's text!"));
于 2013-06-25T14:39:15.647 回答