gpt4 book ai didi

java - 从 ListView 中的 ListView 中获取文本关闭

转载 作者:行者123 更新时间:2023-12-02 06:28:24 25 4
gpt4 key购买 nike

我正在使用自定义 ListView ,并且该 ListView 具有“SwipeDismissListViewTouchListener”。当我滑动它时,它应该将文本显示为 toast 消息。我怎样才能做到这一点?请帮我。这是我的代码:

 SwipeDismissListViewTouchListener touchListener =
new SwipeDismissListViewTouchListener(
lv,
new SwipeDismissListViewTouchListener.DismissCallbacks() {
@Override
public boolean canDismiss(int position) {
return true;
}

@Override
public void onDismiss(ListView listView, int[] reverseSortedPositions) {
for (int position : reverseSortedPositions) {
TextView text = (TextView) listView.findViewById(R.id.Details);
String s = text.getText().toString();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();
}
inAdapter.notifyDataSetChanged();
}
});
lv.setOnTouchListener(touchListener);

这是我的自定义 ListView xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="50dp"
android:orientation="horizontal"
android:padding="5dip" >

<TextView
android:id="@+id/Category_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="18sp"
android:typeface="normal" />

<TextView
android:id="@+id/Details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/Category_name"
android:layout_marginTop="5dip"
android:text=""
android:textColor="#343434"
android:textSize="12sp"
android:singleLine="true"
android:layout_marginRight="50dp"/>

<TextView
android:id="@+id/Price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text=""
android:textColor="#343434"
android:textSize="17sp" />

这段代码运行完美,只有当我滑动关闭时它才会抛出空指针异常。

最佳答案

像这样编写你的 onDismiss() 方法...

@Override
public void onDismiss(ListView listView, int[] reverseSortedPositions) {
if(listView != null && reverseSortedPositions != null) {
for (int position : reverseSortedPositions) {
View child = listView.getChildAt(position);
if(child != null) {
TextView text = (TextView) child.findViewById(R.id.Details);
String s = text.getText().toString();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();
}
}
}
inAdapter.notifyDataSetChanged();
}

关于java - 从 ListView 中的 ListView 中获取文本关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20300542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com