更改CardsUI视图的文本

时间:2013-05-03 20:39:01

标签: java android json textview

所以我正在使用这个令人敬畏的卡片库(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"));

1 个答案:

答案 0 :(得分: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!"));