2015-04-12 21 views
-1

我正在编写一个测验应用程序。 我有一个问题的TextView。 Textview高度根据问题而变化。 在textview下是一个带有答案的列表视图。 我想做些什么,如果列表视图包含更多的项目,我可以看到。 因此,如果有新问题,我将文本写入文本视图并在列表视图中填充作为项目的问题。之后,我做了listView.getLastVisiblePosition();但它总是-1。 当我做一个额外的按钮,并把它放在它里面返回正确的lastVisiblePosition。 所以我试图得到listview(和分隔符)中所有项目的高度,并将其与listview.getHeight进行比较。 但是Listview的高度总是大于itemsheight。 所以我尝试listview.canScrollVertically但它总是如此。if(所有项目的高度> listview.height)然后....

所以我不知道如何我可以检查如果我可以看到列表中的所有项目或我必须滚动。

+0

只是比较'(listView.getLastVisiblePosition() - listView.getFirstVisiblePosition())'总列表项 – Rami

+0

感谢,但lastVisiblePosition为-1。我不想有一个额外的按钮来检查它。如果用户回答问题,他必须点击一个按钮来检查答案是否正确。如果答案是写,我用新问题替换文本视图的文本,在textview中加载新的答案,并希望检查是否显示每个项目或他必须滚动,此时它是-1。如果我不检查它是否让一个额外的按钮来检查它,它给出了正确的位置,但我不想要一个额外的按钮。 –

回答

0

好的,我有一个答案。这可能不是最好的,但它正在工作。

只需短暂休息。

new Handler().postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      // Compare it here 
     } 
    }, 10); 
相关问题