2012-02-28 91 views
1

我有一個活動,我有一些視圖是textViews ImageViews和MapView,最後是頁面上的列表視圖。焦點ScrollView在頁面頂部android

所有這些控件都處於滾動視圖中。問題是,當列表視圖填充滾動scrollview也滾動到列表視圖。重點不在頁面的頂部始終在頁面的底部。

我也使用android:focusable="false"爲列表視圖在XML和代碼ListView.setFocusable(false);但是,這是行不通的,所以請建議任何替代品。

回答

0

VIPIN是在正確的,你不能做一個滾動視圖中列表視圖。您還可以設置一個根據您的遊標中有多少項目(for循環)在Java中動態創建的表格佈局。

換句話說,使用滾動視圖設置您的XML。添加項目將顯示在頂部,然後在底部放置您的表格。在Java中使用buildRow()構建表。然後在調用setContentView(R.layout.xmllayout)之後調用它;

0

不能使用列表視圖滾動視圖 裏面你可以做兩兩件事來獲得相同的

(1)降低你的高度看法,使他們能夠適合實際的屏幕並刪除滾動視圖和意見的默認滾動將起作用。

(2)列表視圖的這一翻譯嘗試創建具有行佈局列表視圖

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

有兩件事你可以在ScrollView中擁有一個ListView,你只需要在使用ListView時使它成爲一個永久大小(不滾動)。

這裏

很好的例子NonScrollListView

對於滾動型開始在ListView中,我建議使用 機器人:可調焦=「假」像你已經在ListView XML,然後使用

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

我試着許多替代品,但只有這對我工作:

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);