我将RecyclerView定义为:
<android.support.v7.widget.RecyclerView
android:id="@+id/message_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/message_input"
android:layout_alignParentTop="true"
app:stackFromEnd="true" />
相关代码也常用于:
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
//layoutManager.setStackFromEnd(true);
mRecyclerView.setLayoutManager(layoutManager);
但是,当我添加项RecyclerView
时,它不尊重app:stackFromEnd="true"
。另一方面,如果我以编程方式取消注释并使用layoutManager.setStackFromEnd(true);
,它可以正常工作。我错过了什么问题?欢迎任何想法。
答案 0 :(得分:13)
但是你要分配一个在java代码中创建的新的LinearLayoutManager。此新管理器没有将stackFromEnd属性设置为true(默认为false)。
stackFromEnd
是经理的属性,而不是RecyclerView
。
就我而言,我有这个:
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/list"
app:stackFromEnd = "true"
app:layoutManager="LinearLayoutManager"
</android.support.v7.widget.RecyclerView>
在您的xml代码中,您没有app:layoutManager
属性,所以我不确定在通货膨胀时为您创建了什么样的经理。
答案 1 :(得分:1)
Android似乎无法识别function dropdownopen(param) {
$('#dropdownnum('+param+')').fadeOut(300);
}
。也许你把它放在错误的地方。 app:stackFromEnd="true"
做同样的工作,但是以编程方式完成。
根据文件:
setStackFromEnd(Boolean)
的兼容性支持
public void setStackFromEnd(boolean stackFromEnd)
和
setStackFromBottom(boolean)
在API级别1中添加当底部的堆栈设置为true时,列表 从视图底部开始填充其内容。
参数
public void setStackFromBottom (boolean stackFromBottom)
stackFromBottom
将视图的内容固定到 底边,true
将视图的内容固定到顶边
阅读以下内容:
http://developer.android.com/reference/android/widget/AbsListView.html#setStackFromBottom(boolean)