2012-02-28 15 views
1

私は、TextViews ImageViewsとMapViewといういくつかのViewを持っており、最後はページのlistviewです。Focus ScrollViewのページの先頭へandroid

これらのコントロールはすべてスクロール表示されています。問題は、リストビューに値が入力されると、スクロールビューもリストビューにスクロールされることです。フォーカスは、ページの上部に常にではなく、ページの下部に常にあります。

また、リストビューのxmlとコードListView.setFocusable(false);にもandroid:focusable="false"を使用しましたが、これは機能しませんので、代替案をご提案ください。彼らは、実際の画面にフィットするとスクロールビューを削除することができるように

あなたが同じ

を取得するには2つのことを行うことができます スクロールビュー内で使用すると、リストビューを使用することはできません

答えて

0

Vipinでは、スクロールビュー内のリストビューを行うことができないという点で正しいです。また、カーソルにある項目の数に基づいてJavaで動的に作成されるテーブルレイアウトをセットアップすることもできます(forループ)。

つまり、スクロールビューでXMLを設定します。上部に表示されるアイテムを追加し、下部にテーブルを配置します。 JavaのテーブルをbuildRow()でビルドします。次に、あなたがsetContentView(R.layout.xmllayout)を呼び出した後にそれを呼び出します。

0

(1)あなたのビューの高さを低くし、ビューのdefaul scrollerが動作します。

(2)inteadリストビューのリストビューと列を有するレイアウトを作成しよう

LinearLayout parent = new LinearLayout(this); 
parent.setOrientation(VERTICAL); 
parent.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);// 

for(number of rows in your list) 
{ 
LinearLayout row= new LinearLayout(this); 
row.setOrientation(Horizontal); 
row.setLayoutParams(new LayoutParams(row_width,row_height); 

TextView text= new TextView (this); 
text.setText("your text"); 
text.setLayoutParams(new LayoutParams(text_width,text_height); 
row.addView(text); 
. 
.//other view you want to add as check box etc 
. 
. 
parent.AddView(row); 
} 

this.addView(parent); 

hope this will help you 

note:but in case you have a large number of rows it may cause memory issues 
0

ListViewを持つことができるのは、ListViewを使用するときにListViewを(スクロールせずに)永続的なサイズにするだけです。リストビューに始まる

素晴らしい例ここNonScrollListView

ScrollViewのためには、私は アンドロイドを使用してお勧めします。あなたのようなフォーカス可能=「false」がすでに私が試した

ScrollView scrollView = (ScrollView) findViewById(R.id.scroll_view); 
    scrollView.requestFocus(View.FOCUS_UP); 
    scrollView.scrollTo(0,0); 
0

を使用して、その後のListView XMLを持っています多くの代替案がありましたが、これは私にとってはうまくいきました。

ScrollView scroll = (ScrollView) findViewById(R.id.addresses_scroll); 

    scroll.setFocusableInTouchMode(true); 
    scroll.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS); 
0

スクロールビューで子としてリストビューがある場合、 lviewはその焦点をlistviewに移します。それを避けるために、私は多くのオプションを試しましたが、これは私のために完全に機能しました:

scroll_main.pageScroll(View.FOCUS_UP); 
関連する問題