如何从列表中获取对象中的字符串值?

时间:2019-03-28 12:51:49

标签: java android string

我想通过单击特定对象从我的列表中的一个包含ImageView和两个TextView的对象中获取一个字符串值。但是问题是,我无法获得所需的字符串。

吐司消息应显示第二个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 && user.isEmailVerified()) {
        Intent myIntent = new Intent(PartyActivity.this, ChatActivity.class);

        myIntent.putExtra("Other Uid", othersUid);

        PartyActivity.this.startActivity(myIntent);
    }
    else {
        //...
    }
}

2 个答案:

答案 0 :(得分:1)

替换为行

TextView otherUid = findViewById(R.id.uidTextView);

收件人:

TextView otherUid = view.findViewById(R.id.uidTextView);

应该可以

答案 1 :(得分:0)

... 你好山姆, 您需要先设置第二个TextView的文本,然后才能获取它。 您可以通过将android:text添加到xml中的第二个textview来具有静态文本(默认值)。 要将动态文本添加到第二个textview中,只需在创建List元素时设置文本即可。 希望有帮助。

欢呼