android - 动态创建 XML 卡

标签 android google-glass google-gdk

我正在尝试动态创建一些布局,然后将它们扩充。 目前我有一些布局,我正在使用我自己的适配器类来扩展它们。

但是现在我需要根据生成的数据创建一些卡片。例如,我尝试使用 card 类来实现这一点

for (int i = 1; i < 10; i++) {
            Card card = new Card(this);
            card.setText("Test " + i);
            mCards.add(card);
        }

我无法按照我想要的方式设计它。那么有没有一种方法可以让我使用 xml 设置来执行此操作,因为这样我有更多的设计选项?

最佳答案

冒着再次被否决的风险,我将发布我的解决方案

现在这只是一个测试,看看它是否会按照我想要的方式运行。 稍后我将从实际列表中生成卡片,其中包含数据。

首先,我创建了一个带有 TextView 的 xml 布局

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:id="@+id/test_content"
    android:textSize="47pt"/>

</LinearLayout>

之后我创建了一个适配器,它会膨胀布局并为列表中的每个项目设置 TextView

public class xmlAdapter extends CardScrollAdapter {
private List<Integer> mCards;
private LayoutInflater mInflater;

public xmlAdapter(List<Integer> mCards, LayoutInflater inflater)
{
    this.mCards = mCards;
    this.mInflater = inflater;
}


@Override
public int getCount() {
    return mCards.size();
}

@Override
public Object getItem(int i) {
    return mCards.get(i);
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    View mView = view;

    view = mInflater.inflate(R.layout.xml_test, viewGroup, false);
    TextView text = (TextView) view.findViewById(R.id.test_content);
    text.setText("Test " + mCards.get(i));
    view.setTag(text);
    return view;
}

@Override
public int getPosition(Object o) {
    return this.mCards.indexOf(o);
}

在我的 Activity 课上,我做了以下事情。

在 onCreate() 中

    CreateCards();

    mCardScroller = new CardScrollView(this);
    mCardScroller.setAdapter(new xmlAdapter(numberCards, getLayoutInflater()));

    mCardScroller.setOnItemClickListener(this);

请记住,这只是一个 for 循环,用于将一些数据放入要发送到适配器的列表中。

public void CreateCards() {
    for (int i = 1; i < 10; i++) {
    numberCards.add(i);
    }
}

关于android - 动态创建 XML 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29097208/

相关文章:

android - 是否可以获取共享对象的版本?

java - 如何在我的 Google Glass 应用程序启动后立即启动线程?

google-app-engine - 谷歌眼镜Python快速入门

android - 如何知道电话是否正在进行

google-glass - 获取 Google Glass 相机时出现间歇性错误

android - 使用 Bazel 在 Android Lib 上包含 JNI header

Android OrmLite TableUtils 创建 View

android - 在谷歌眼镜上使用 zxing

google-glass - 为 OK Glass 菜单提供语义语法

java - Android 自动化错误显示 : "Security exception: Permission Denial: starting Intent"