#java #android #string
#java #Android #строка
Вопрос:
Я хочу получить строковое значение из объекта, который состоит из ImageView
и двух TextView
в моем списке, щелкнув по этому конкретному объекту. Но проблема в том, что я не могу получить нужную мне строку.
Всплывающее сообщение должно показывать значение second TextView
но оно показывает все, что ему нравится.
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:orientation="vertical"
android:onClick="chitChat" >
<ImageView
android:id="@ id/photoImageView"
android:layout_width="300dp"
android:layout_height="200dp"
android:adjustViewBounds="true" />
<TextView
android:id="@ id/nameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
tools:text="Name" />
<TextView
android:id="@ id/uidTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Если у вас есть какие-либо другие предложения, которые помогут мне получить какое-либо конкретное значение объекта из выбранного объекта, я хотел бы это услышать.
Заранее большое вам спасибо.
public void chitChat(View view) {
TextView otherUid = findViewById(R.id.uidTextView);
String othersUid = otherUid.getText().toString();
Toast.makeText(PartyActivity.this, othersUid, Toast.LENGTH_LONG).show();
if (user != null amp;amp; user.isEmailVerified()) {
Intent myIntent = new Intent(PartyActivity.this, ChatActivity.class);
myIntent.putExtra("Other Uid", othersUid);
PartyActivity.this.startActivity(myIntent);
}
else {
//...
}
}
Комментарии:
1. «… но он показывает все, что ему нравится». что это такое на самом деле?
2. @NikosHidalgo Я имею в виду, что он не показывает точное строковое значение, которое отображается в <b>TextView</b>. Вместо этого он показывает значение другого объекта в списке.
Ответ №1:
Замените нижеприведенную строку
TextView otherUid = findViewById(R.id.uidTextView);
Для:
TextView otherUid = view.findViewById(R.id.uidTextView);
Это должно сработать
Комментарии:
1. Рад, что вам понравилось.
Ответ №2:
… Привет, Сэм, Тебе нужно задать текст второго TextView перед его получением. Вы можете сделать это, добавив android:text во второй textview в xml, чтобы иметь статический текст (значение по умолчанию). Чтобы иметь динамический текст во втором textview, просто задайте текст при создании элемента списка. Надеюсь, это поможет.
Приветствия
Комментарии:
1. Спасибо за ответ, но, конечно, я установил в нем значение. Я просто не показал эту часть кода. Это моя вина. В любом случае спасибо за ответ.