ビューポートに収まる画面があるため、デフォルトではスクロールバーが表示されません。
いくつかの TextView 要素、EditText および EditText の下の CheckBox があります。私の目的は、EditText コントロールがフォーカスされているときに CheckBox 要素をスクロールして表示することです。アクティビティに「adjustResize」を設定しているため、EditText にフォーカスがあると画面がスクロール可能になります。
スクロールしようとしているコードは次のとおりです。
mEditTextView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
final ScrollView mScrollView = (ScrollView) findViewById(R.id.scrollView1);
if (hasFocus){
if(mScrollView != null) {
mScrollView.post(new Runnable() {
@Override
public void run() {
mScrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
}
}
}
そして、これは一番下までスクロールしません。ソフト キーボードにフォーカスが移動するだけで、チェックボックスはその後ろに隠れています。
ここで何が悪いのか誰か教えてもらえますか?
PS: ここでの私の推測では、「adjustResize」の後でも、Android はまだスクロールの範囲がないと考えているため、スクロールしません。これはここに当てはまりますか?