android - Android 中 Listview 中的可滚动 Edittext

标签 android scroll android-edittext

我正在开发我的一个 Android 项目,在该项目中,我在 Listview 行中显示一个带有 Edittext 的 Listview。问题是当我尝试滚动 Edittext 时,我不能这样做,因为 Listview 会滚动。如何在 Listview 中实现可滚动的 Edittext。

这是我的 Listview 适配器代码

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    MyViewHolder mViewHolder;

    if(convertView == null) {
        convertView = inflater.inflate(R.layout.custom_deal_supplier, null);
        mViewHolder = new MyViewHolder();
        convertView.setTag(mViewHolder);
    } else {
        mViewHolder = (MyViewHolder) convertView.getTag();
    }

    mViewHolder.tvConsumerName = detail(convertView, R.id.txt_consumer_name, dealDoneListHere.get(position).getConsumerName());// Set consumer name here
    mViewHolder.edtShippingAddress=(EditText)convertView.findViewById(R.id.edt_details_shipping_address);
    mViewHolder.edtShippingAddress.setVisibility(View.VISIBLE);

// contains more than 500 characters
mViewHolder.edtShippingAddress.setText(dealDoneListHere.get(position).getShippingAddress()+"");

    return convertView;
}

这是我在 xml 文件中的 Edittext

<com.hlink.supplementwar.view.CustomEditView
            android:id="@+id/edt_details_shipping_address"
            android:layout_width="match_parent"
            android:layout_height="@dimen/dp_60_shipping"
            android:layout_margin="@dimen/dp_5"
            android:background="@drawable/deal_done_desciption"
            android:enabled="true"
            android:maxLength="500"
            android:paddingBottom="@dimen/dp_5"
            android:paddingLeft="@dimen/dp_5"
            android:paddingRight="@dimen/dp_5"
            android:scrollbars="vertical"
            android:textColor="@color/edit_text_color"
            android:textSize="@dimen/sp_13"
            android:visibility="gone"
            app:fontName="fonts/Roboto_Light.ttf" />

最佳答案

你应该试试这个......

mViewHolder.edtShippingAddress.setOnTouchListener(new OnTouchListener() {
    // Setting on Touch Listener for handling the touch inside ScrollView
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    // Disallow the touch request for parent scroll on touch of child view
    v.getParent().requestDisallowInterceptTouchEvent(true);
    return false;
    }
});

关于android - Android 中 Listview 中的可滚动 Edittext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30748370/

相关文章:

android - 多次按 "."(在 EditText 中输入时验证 ip 地址)

Android首选项,如何设置对自定义首选项的依赖

javascript - 鼠标滚轮在 Firefox 中不起作用

java - 为什么这个文本比较失败?

android - 如何禁用 EditText 中的默认键盘,允许其他操作

div内div的Angular 6轨道滚动位置

android - 嵌套几个相对布局可以吗

java - 为什么在 Google App Engine 中使用 HttpMethod.POST 而不是 HttpMethod.GET?

android - 将回调 hell 转换为延迟对象

javascript - 使用自定义滚动条滚动部分(Nice Scroll)——快速滚动时动画效果不佳