滚动位置在列表视图中位于顶部

时间:2017-03-24 19:36:52

标签: android listview firebase

layout.xml:

<ListView
    android:id="@+id/lv"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stackFromBottom="true"

    android:transcriptMode="alwaysScroll" />

片段代码:

public class MediumFragment extends Fragment {

ListView lv;
private int tabNumber = 1;
private DatabaseReference mDatabaseReference;
ArrayList<MissionClass> missionList;

EasyMediumHardArrayAdapter adapter;

private static String TAG = "MediumFragment";
private int positionNum;
private String idNum;
boolean checkingId = false;
int firstCompletelyVisiblePos;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Set the layout that you want to display
    View v = inflater.inflate(R.layout.fragment_medium, container, false);
    lv = (ListView) v.findViewById(R.id.lv);
    missionList = new ArrayList<MissionClass>();
    lv.setSelection(0);
    adapter = new EasyMediumHardArrayAdapter(getActivity(), R.layout.list_item_easy_medium_hard, missionList);
    lv.setAdapter(adapter);

    //initializing database reference
    mDatabaseReference = FirebaseDatabase.getInstance().getReference();

    // Retrieve and display data in listview
    retrieveData();

    // Check number of available mission
    checkUnlockMission();

    // To perform onclick event handler
    lvListener();

    return v;
}

private void retrieveData() {
    // Retrieve the id 7 - 12 datas from Mission table
    mDatabaseReference.child("Mission").orderByKey().startAt("7").endAt("12").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot snapshot) {

            for (DataSnapshot child : snapshot.getChildren()) {
                missionList.add(child.getValue(MissionClass.class));
            }
            adapter.notifyDataSetChanged();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.e(TAG, databaseError.getMessage());
        }
    });
}

每当我启动应用程序时,stackFromBottom =“true”使滚动位置为底部。我想stackFromBottom =“true”加上滚动位置在顶部(listview position = 0)。我可以知道怎么做吗?我试过lv.smoothscrolltoposition()但它没有帮助。

1 个答案:

答案 0 :(得分:0)

致电<body> <ul class="navBar"> <li><a href="#">Home</a></li> <li class="dropDownBtn"><a href="#">Products</a> <div class="dropDownContent"> <a href="#">Product1</a> <a href="#">Product2</a> <a href="#">Product3</a> </div> </li> <li><a href="#">Service</a></li> <li><a href="#">Contact</a></li> </ul> </body> </html>上的setSelectionAfterHeaderView()以滚动到顶部。