小编Sar*_*raz的帖子

recyclerview 的 findFirstVisibleItemPosition() 总是返回 -1

这是我想在方向更改和活动恢复时保留 recyclerview 滚动位置的代码。问题出在我的日志中,我总是得到 -1。我哪里错了?

void resetViews() {
    recyclerView.setAdapter(adapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
    RecyclerView.LayoutManager lm =  recyclerView.getLayoutManager();
    if (lm != null && lm instanceof  LinearLayoutManager) {
        currPosition = ((LinearLayoutManager)lm).findFirstVisibleItemPosition();
        Log.i("saz","curr pos : " + currPosition);
    }
    int count = lm.getChildCount();
    if (currPosition != RecyclerView.NO_POSITION && currPosition < count){
        lm.scrollToPosition(currPosition);
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

6
推荐指数
1
解决办法
6046
查看次数

尽管在使用FirebaseStorage时初始化FirebaseApp,但仍未在此过程中初始化"默认FirebaseApp"

我正在尝试使用Firebase存储下载图像.我写了以下代码

MainActivity.java

public class MainActivity extends AppCompatActivity {
ArrayList<Car> carListSuper;
RecyclerView rvCarList;
ProgressBar progressbar;
private CarListAdapter carListAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    carListSuper = new ArrayList<>();
    Firebase myFirebaseRef = new Firebase("https://carbar-7dae7.firebaseio.com/");

    rvCarList = (RecyclerView) findViewById(R.id.rvCarList);
    rvCarList.setItemAnimator(new FeedItemAnimator());
    progressbar = (ProgressBar) findViewById(R.id.progressCarLoad);
    carListAdapter = new CarListAdapter(carListSuper,MainActivity.this);

    RecyclerView.LayoutManager linearLayoutManager = new LinearLayoutManager(this);
    rvCarList.setLayoutManager(linearLayoutManager);
    rvCarList.setAdapter(carListAdapter);

    myFirebaseRef.child("carList").addValueEventListener(new ValueEventListener() {

    @Override
    public void onDataChange(DataSnapshot snapshot) {

        Log.i("saz",snapshot.getValue().toString());
        progressbar.setVisibility(View.GONE);
        carListSuper.clear();
        //String jsonString = snapshot.getValue().toString();
        try {

            for (int i=0; i<snapshot.getChildrenCount();i++) {
                //Car carList …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-storage

5
推荐指数
1
解决办法
1万
查看次数