我正在使用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。
它应该工作!
感谢下面的回答。
答案 0 :(得分:0)
Hello不要使用新的Instace of adapter使用旧的instace
public void add(View view){
myAdapter.dhikrListe.add(new Dhikr("Al-Hamdu lillah"));
myAdapter.notifyDataSetChanged();
}