Как проверить, есть ли TextView или нет? - PullRequest
0 голосов
/ 08 октября 2019

У меня на странице две части. Одним из них является раскрывающийся список, который содержит несколько категорий. А другой содержит товары всех категорий. Как я показал на картинке. Когда пользователь щелкает по любой категории, на странице появляется прокрутка до соответствующих продуктов выбранной категории.

До сих пор я пробовал : - Прежде всего, мне нужно динамически связать имена категорий впрядильщикПосле этого мне нужно связать продукты с именем категории, имеющей идентификатор значения счетчика. Поэтому, когда пользователь выбирает что-либо, мне нужно получить значение из счетчика, а после этого мне нужно сопоставить это значение с элементами products. Как только это будет найдено, моя страница должна перейти к этому конкретному элементу. Для кого-нибудь есть идеи? введите описание изображения здесь

Ответы [ 3 ]

0 голосов
/ 08 октября 2019

TextView необходимо назначить идентификатор в макете XML.

android: id = "+ id / SomeName"

Теперь в вашем основном Java-классе, вам нужно объявить переменную типа TextView.

private TextView textView;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.SomeName);

Теперь, когда вы печатаете последнюю строку, если вы видите R.id. «SomeName» появляется в шаблоне android studio, то это означает, что ваше текстовое представление присутствует втекущий макет, который вы определили в setContentView (....);

Если его нет, он выдаст красную линию или нулевую ошибку. Что касается видимости, вы можете использовать функцию .getVisibility().

** ОБНОВЛЕННЫЙ ОТВЕТ **

  View parent = layout.getParent();
    for (int i = 0; i < parent.getChildCount(); i++) {
        View v = parent.getChildAt(i);
        if(v instanceof TextView)
        {
              String spinner= mySpinner.getSelectedItem().toString();
              String tv= v.getText().toString();
              if (str1.equals(str2)) {
            // Show code you want
        }
        }
    }
0 голосов
/ 08 октября 2019

Итак, вы хотите проверить текст в TextView и Spinner , верно? Мои предложения:

mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            String str1 = mySpinner.getSelectedItem().toString();
            String str2 = textview.getText().toString();
            if (str1.equals(str2)) {
                // Show code you want
            }
        }
    });
0 голосов
/ 08 октября 2019

Вы можете проверить видимость вашего взгляда:

if (youtTextView.getVisibility() == View.VISIBLE) {
     //Your TextView is visible
} else {
     //Your TextView is not visible (invisible or gone)
}
...