2016-04-06 10 views
1

は私が一番下にリストビューをスクロールしようとすると、それはこのように動作します:あなたのリストビュー、下にスクロール、のEditTextビュー奇妙な挙動が

listview.setSelection(listview.getCount()-1); 

(恥グーグル、基本的なことscrollToBottom方法を、私たちは持っていましたこれを達成する他の方法を見つけるために..)

しかし、これは動作しません..それを使用する前にいくつかのテキストを入力.. EditTextビューに。面白い?どういたしまして。私たちは、私が[anyView].performClick();が、運にしようとしていた、問題は奇妙なと奇妙で見ることができるように

Add element to listview -> scrollToBottom -> you are at the very bottom - works 
Add element to listview -> type something in EditView -> scrollToBottom - not works 
Add element to listview -> type something in EditView -> click anywhere in screen -> scrollToBottom - works! 

..

のEditTextに入力すると、私は、リストビューの責任Androidの開発チームについて考えていますなぜすべてのアイデアはとてもラメです?そして、このバグの回避策を見つける方法。

ありがとうございました! :)

いくつかのコード:

<ListView 
    android:id="@+id/nativeLog" 
    android:focusable="false" 
    android:focusableInTouchMode="false" 
    android:transcriptMode="normal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingTop="0dp" 
    android:paddingBottom="10dp" 
    android:clipToPadding="false" 
    android:paddingLeft="0dp" 
    android:paddingRight="0dp" 
    android:cacheColorHint="#00000000" 
    android:background="@drawable/gray_bg" 
    android:listSelector="@color/transparent" 
    android:divider="@null" 
    android:dividerHeight="0dp"/> 

[...] 

<EditText 
    android:id="@+id/boxInterfaceEditbox" 
    android:scrollHorizontally="false" 
    android:inputType="textCapSentences|textLongMessage|textMultiLine|textNoSuggestions" 
    android:singleLine="false" 
    android:imeOptions="actionSend" 
    android:layout_width ="0dp" 
    android:layout_weight="1" 
    android:layout_height ="wrap_content" 
    android:layout_marginLeft="5.5dp" 
    android:layout_marginRight="5.5dp" 
    android:paddingTop="8.2dp" 
    android:paddingBottom="8.2dp" 
    android:paddingLeft="8dp" 
    android:paddingRight="8dp" 
    android:minHeight="@dimen/nav_interface_btn_size" 
    android:maxHeight="90dp" 
    android:textColor="#bbb" 
    android:textSize="15.25dp" 
    android:gravity="top" 
    android:background="@drawable/nav_boxtextarea"/> 

とJava

scrollToBottomRunnable = new Runnable() { 
    @Override 
    public void run() { 
     log.setSelection(log.getCount() -1); 
    } 
}; 
+0

@ElSajko Refere here:http://coderzpassion.com/android-custom-listview-with-edittext/助けを得るかもしれない –

+0

@JagjitSingh:EditViewは私の場合はlistviewの項目ではありませんが、見てみましょう。どうも。 – ElSajko

+1

私はあなたの編集テキストがフォーカスを取得し、あなたのボタンがクリックに焦点を当てることができないと思うので、最初に画面をタッチして編集テキストからフォーカスを得るようにします –

答えて

1

我々はそれがビューを一覧表示する項目を追加した後、あなたが切り替わるときの後notifyDatasetChanged()を呼び出す必要が見つけ、少なくともコメントですべてを試みたようlistview-footer-childの可視性も。

+0

項目を追加したあと、listview-footer-childの表示を切り替えた後も。 – ElSajko