ListViewにおけるTextViewコピー時のジャンプによる選択不可の問題について

1224 ワード

私の方法はlistviewの高さをitem数が自動的に増加する固定高さ(スクロールはサポートされていない)に従って外部スリーブScrollViewを設定し、コピーを選択するTextview設定属性android:textIsSelectable="true"をサポートし、ListViewでandroid:descendantFocusability="beforeDescenendants"属性を設定し、サブコントロールにフォーカスを先に取得させることです.これで問題の問題を解決することができます.
ListViewコードをスクロールしない
 @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(
                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
//        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_MOVE) {
            return true;  //  GridView  
        }
        return super.dispatchTouchEvent(ev);
    }

一部の携帯電話ではtextisSelectableとdescendantFocusabilityの属性だけを設定すればいいのですが、私のモトローラ携帯電話ではジャンプで選択できない問題が発生し、他の機種ではこの問題が発生するかどうか分かりません.
後記:発生の原因はたまにネット上で見るのはListViewが焦点の変更の時に自動的にリセットするためで、正しいかどうか分かりません.(しかし、このソリューションはここからインスピレーションを受け、ネットやこの言葉を書いてくれた人に感謝し、このリンクは見つかりませんでしたが).あとtoolbarの問題でシステムのtoolbarを変えたのですが、あまり効果はありませんでした.
間違いがあれば、指摘を歓迎します.