尝试在UltimateRecyclerView

时间:2016-11-21 08:34:14

标签: android list android-recyclerview adapter

我正在使用UltimateRecyclerView(扩展了RecycerView,具有很多很棒的功能)

但我收到了错误......

为什么我会:

 Caused by: java.lang.IllegalArgumentException: ViewStub must have a valid layoutResource
                      at android.view.ViewStub.inflate(ViewStub.java:284)
                      at android.view.ViewStub.setVisibility(ViewStub.java:235)
                      at com.marshalchen.ultimaterecyclerview.UltimateRecyclerView.updateHelperDisplays(UltimateRecyclerView.java:862)

...

尝试运行此代码时:

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;

import com.marshalchen.ultimaterecyclerview.UltimateRecyclerView;
import com.yqritc.recyclerviewflexibledivider.HorizontalDividerItemDecoration;

public class MainActivity extends AppCompatActivity {

    UltimateRecyclerView dhikrListe;
    MyAdapter myAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        dhikrListe = (UltimateRecyclerView) findViewById(R.id.ultimate_recyclerView);

        dhikrListe.setHasFixedSize(true);
        dhikrListe.setLayoutManager(new LinearLayoutManager(this)); //Hier könnten wir auch verschiedene Layouts festlegen. Bei der ListView, die vorher hatten, ist das Linearlayout fest eingestellt.

        dhikrListe.addItemDecoration(
                new HorizontalDividerItemDecoration.Builder(this)
                        .color(Color.GRAY)
                        .build()); // Der Divider trennt die Zeilen mit einem Strich

        myAdapter = new MyAdapter(this);

        dhikrListe.setAdapter(myAdapter); //Adapter wird gesetzt
    }

    public void add(View view){
        MyAdapter.dhikrListe.add(new Dhikr("Al-Hamdu lillah"));
        myAdapter.notifyDataSetChanged();
    }

}

非常感谢!

修改

只需添加一个名为empty_view的空Layout_Ressource_file。

它应该工作!

感谢下面的回答。

1 个答案:

答案 0 :(得分:0)

Hello不要使用新的Instace of adapter使用旧的instace

public void add(View view){
    myAdapter.dhikrListe.add(new Dhikr("Al-Hamdu lillah"));
    myAdapter.notifyDataSetChanged();
}
相关问题