2017-01-14 14 views
4

これは、アダプタ、LinearLayoutManagerなどを処理する私のonCreateです。 すべてのオプションを上にスクロールしようとしましたが、できませんでした。 私は自分のカスタムLinearLayoutManagerを作成しようとしました。Android recyclerview上にスクロール

//Reson for static to call from a static method to scroll it up 
private static RecyclerView taskRecyclerView; 
private FirebaseAdapter firebaseAdapter; 
private static LinearLayoutManager linearLayoutManager; 

@Override 
public View onCreateView(LayoutInflater inflater, final ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    final View view = inflater.inflate(R.layout.fragment_tasklist, container, false); 



    linearLayoutManager = new LinearLayoutManager(getActivity()); 

    taskRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView_mainTask); 
    databaseRef = FirebaseDatabase.getInstance().getReference().child(userAccount.getId()); 


    firebaseAdapter = new FirebaseAdapter(TaskObject.class, R.layout.one_task, TaskViewHolder.class, databaseRef.child("Task"), getContext()); 

    linearLayoutManager.setReverseLayout(true); 
    linearLayoutManager.setStackFromEnd(true); 
    linearLayoutManager.setSmoothScrollbarEnabled(true); 


    taskRecyclerView.setAdapter(firebaseAdapter); 
    taskRecyclerView.setLayoutManager(linearLayoutManager); 
    relativeLayoutAdd.setOnClickListener(this); 
    //Listen for any data change 
    databaseRef.child("Task").addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      //onDataChange called so remove progress bar 

      //make a call to dataSnapshot.hasChildren() and based 
      //on returned value show/hide empty view 

      //use helper method to add an Observer to RecyclerView 

     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
    databaseRef.child("Task").keepSynced(true); 
    return view; 
} 
+0

なぜLLMを元に戻すのですか?あなたは、新しい何かがrecyclerviewの底に追加されるたびに、下にスクロールしたいですか?メッセージングアプリと同じですか? –

+0

私は常に最新のものを一番上にしたい。それが私がそれを逆転させる理由です。 – nnn

+0

UIを使用した例を表示できますか?あなたがLLMを逆にする必要がないリサイクラビューの上にアイテムを追加する場合は、Arrayを逆にする必要があります。それをイメージで説明できます。あなたの問題は何か分かりません。 –

答えて

7

あなたはtaskRecyclerView.getLayoutManager().scrollToPosition(0)taskRecyclerView.scrollToPosition(your_position)を試してみましたか?

RecyclerViewはtaskRecyclerView.scrollToPosition(your_position)にスクロールロジックを実装していません。具体的にはtaskRecyclerView.getLayoutManager().scrollToPosition(0)が具体的です。実装されているレイアウトに応じて特定のインデックスに移動します。

+0

'taskRecyclerView.scrollToPosition(your_position)'と 'taskRecyclerView.getLayoutManager()。scrollToPosition(0)'が試行されました。なぜ説明できますか? – nnn

+0

RecyclerViewは 'taskRecyclerView.scrollToPosition(your_position)'と 'taskRecyclerView.getLayoutManager()にスクロールロジックを実装していません。scrollToPosition(0)'はより具体的で、実装されたレイアウトに応じて特定のインデックスに移動します。 –

+0

私は参照してください。どうもありがとうございました! – nnn

関連する問題