为每个JSON对象创建新按钮

时间:2019-03-28 21:52:50

标签: java android json

我试图让我的应用为我的JSON中的每个商品类别创建一个按钮,然后在应用中远程设置按钮图像和标题。我该如何做才能从数据库中添加一个新类别,并在应用程序中为该类别创建一个带有图像和标题的新按钮?

非常感谢您的帮助。 不幸的是,目前我没有太多代码可以显示。

1 个答案:

答案 0 :(得分:0)

enter image description here enter image description here 您只需在xml中采用水平/垂直线性布局即可充当容器。将该LinearLayout放入水平或垂直ScrollView中,如下所示。

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:id="@+id/linear_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" />
</HorizontalScrollView>

在您的活动中:

for (int i = 0; i < yourArray.length(); i++) {
    Button btn = new Button(this);
        btn.setId(i);
        btn.setTag(i);
        btn.setText("Button " + (i+1));
        btn.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(R.drawable.ic_notifications_black_24dp), null, null, null);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.d("BTN", view.getTag().toString());
            }
        });

        linearLayout.addView(btn);
}

类似地,您可以在LinearLayout中水平或垂直添加所需的任何视图。看看所附的屏幕截图。