2017-03-24 16 views
1

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"とスクロール位置を先頭にする(リストビュー位置= 0)が必要です。私はそれを行う方法を知っていてもいいですか?私はlv.smoothscrolltoposition()を試しましたが、それは助けになりません。

答えて

0

ListViewsetSelectionAfterHeaderView()を電話して上部にスクロールします。

+0

コメントは議論の対象外です。この会話は[チャットに移動]されています(http://chat.stackoverflow.com/rooms/139094/discussion-on-answer-by-user123-scroll-position-to-be-on-top-in-listview) 。 –

関連する問題