Как я могу использовать массив для отображения соответствия ImageView? - PullRequest
0 голосов
/ 07 февраля 2020

Я получаю некоторые данные, как это: {201,501,301,404,211}

Я использую ',' для разделения

      String[] messages = split(",");

, поэтому я получаю 201 501 301 404 211, теперь мне нужно только три значения: 201 501 301

      messages[0];  //201
      messages[1];  //501
      messages[2];  //301

но, у меня есть девять значков, и только три значка будут отображать базу сообщений [0] ~ messages [2]

вот мой xml :

               <ImageView
                    android:id="@+id/ig_p1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_marginTop="@dimen/precaution_top"
                    android:src="@mipmap/icon_101" />
               <ImageView
                    android:id="@+id/ig_p2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/precaution_top"
                    android:layout_toRightOf="@+id/ig_precaution_1"
                    android:src="@mipmap/icon_403" />
               <ImageView
                    android:id="@+id/ig_p3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/precaution_top"
                    android:layout_toRightOf="@+id/ig_precaution_2"
                    android:src="@mipmap/icon_401" />

в соответствии с моим xml, будет отображаться только три ImageView, я хочу показать массив [0] ~ массив [2] в соответствии с imageView.

  ImageView p1,p2,p3;
  p1 = (ImageView)findViewById(R.id.ig_p1);
  p2 = (ImageView)findViewById(R.id.ig_p2);
  p3 = (ImageView)findViewById(R.id.ig_p3);

Пожалуйста, помогите мне, спасибо.

1 Ответ

0 голосов
/ 07 февраля 2020

Вы можете установить значки динамически.

Создать функцию и вызвать 3 раза.

ig_p1ImageView, ig_p2ImageView и ig_p3ImageView - это представления изображений, которые вы используете на Java стороне с findViewById ().

void setIcon(String iconName, ImageView imageView ) {
    String fileName = "icon_" + iconName
    int iconResId = getResources().getIdentifier(fileName, "mipmap", getPackageName());
    imageView.setImageResource(iconResId);
}

setIcon(messages[0], ig_p1ImageView );
setIcon(messages[1], ig_p2ImageView );
setIcon(messages[2], ig_p3ImageView );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...