我在一个项目中工作,通过http调用,我在响应中提供一个json,当我获取它时,它会给我一些信息,在这些信息中,我还有一些url img路径,我需要使用它来构建不同的动态img,为建立它们,我使用了for循环,但为了使“视图和文本->视图和文本->视图和文本->等”顺序为“文本->文本->文本” ->视图->视图->视图->“。我希望我能清楚地解释自己。
代码在这里:
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("products");
for (int i = 0; i < jsonArray.length(); i++){
JSONObject products = jsonArray.getJSONObject(i);
String title = products.getString("title");
String tagline = products.getString("tagline");
String checkout = products.getString("product_url");
JSONArray urlImg = products.getJSONArray("images");
JSONObject imgurl = urlImg.getJSONObject(1);
String smallImg = imgurl.getString("large");
Log.d("LINK IMG", smallImg);
LinearLayout layout = (LinearLayout) findViewById(R.id.mainLinearLayout);
ImageView imgView = new ImageView(MainActivity.this);
imgView.setAdjustViewBounds(true);
imgView.setId(R.id.coverview1);
layout.addView(imgView);
tvTest.append(title + ", " + tagline + "\n" + checkout + "\n\n\n");
Glide.with(MainActivity.this).load(smallImg).into(imgView);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
和xml:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainLinearLayout">
<Button
android:id="@+id/btnTest"
android:layout_width="409dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Test API"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/coverview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:maxWidth="20dp"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/tvTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:padding="10dp"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</RelativeLayout>
</LinearLayout>