Java 安卓工作室可以';t显示回收器视图
刚开始在android studio中构建一个应用程序,我已经检查了返回数据,到目前为止没有任何错误,但是Recycler视图在启动时不显示数据,即使在xml中显示。线性/相对布局很好,请帮助我,非常感谢 适配器Java 安卓工作室可以';t显示回收器视图,java,android,Java,Android,刚开始在android studio中构建一个应用程序,我已经检查了返回数据,到目前为止没有任何错误,但是Recycler视图在启动时不显示数据,即使在xml中显示。线性/相对布局很好,请帮助我,非常感谢 适配器 主菜单\u Activity.xml list_item.xml MainMenuActivity.java package com.creativeerror.finalproject; 导入android.os.Bundle; 导入android.support.
主菜单\u Activity.xml
list_item.xml
MainMenuActivity.java
package com.creativeerror.finalproject;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.DefaultItemAnimator;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入java.util.ArrayList;
导入java.util.List;
公共类MainMenuActivity扩展了AppCompative活动{
公共类MainActivity扩展了AppCompatActivity{
private List ModelList=new ArrayList();
私人回收站;
专用适配器;
私人模式巴哈萨;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u主菜单);
recyclerView=(recyclerView)findViewById(R.id.rv);
适配器=新适配器(getApplicationContext(),ModelList);
RecyclerView.LayoutManager mLayoutManager=新建
LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
setItemAnimator(新的DefaultItemAnimator());
recyclerView.setAdapter(适配器);
prepareData();
}
私有无效准备数据(){
addToList(R.drawable.css,“css”,“您选择css”);
addToList(R.drawable.html,“html”,“您选择html”);
addToList(R.drawable.java,“java”,“您选择java”);
addToList(R.drawable.php,“php”,“您选择php”);
addToList(R.drawable.sql,“sql”,“您选择sql”);
}
私有void addToList(int-gambar、String-namaInd、String-namaEng){
bahasa=新车型(甘巴尔、纳曼德、纳曼恩);
ModelList.add(巴哈萨语);
}
}
}我认为您在
主活动中调用了错误的布局
setContentView(R.layout.YourRecyclerLayoutHere);
尝试Adapter.notifyDatasetChanged()代码>在prepareData()之后
尝试过,没有任何更改:<在启动时始终显示一个空白屏幕如此,这是什么公共类Main活动扩展AppCompativity{public class MainActivity扩展AppCompativity{
。尝试向布局中添加其他内容,以便您可以看到您甚至正在启动正确的活动。当我的RecyclerView
不可见或被另一个视图隐藏时,我有过这样的经历。请检查在渲染时,RecyclerView
是否在所有意义上都可见。以及prepareData()
在创建适配器并将其添加到回收视图之前
。您正在执行设置内容视图(R.layout.activity\u主菜单)
但布局名为主菜单\u activity.xml
?
package com.creativeerror.finalproject;
/**
* Created by User on 14/05/2017.
*/
public class Model {
String namaIndo;
String namaEng;
int gambar;
public Model(int gambar, String namaIndo, String namaEng){
this.namaIndo=namaIndo;
this.namaEng=namaEng;
this.gambar=gambar;
}
public String getNamaIndo() {
return namaIndo;
}
public void setNamaIndo(String namaIndo) {
this.namaIndo = namaIndo;
}
public String getNamaEng() {
return namaEng;
}
public void setNamaEng(String namaEng) {
this.namaEng = namaEng;
}
public int getGambar() {
return gambar;
}
public void setGambar(int gambar) {
this.gambar = gambar;
}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
tools:context="com.creativeerror.finalproject.MainMenuActivity"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" >
</android.support.v7.widget.RecyclerView>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/layout"
android:orientation="horizontal">
<ImageView
android:id="@+id/gambar"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:src="@drawable/css"
android:layout_margin="8dp"/>
<TextView
android:id="@+id/nama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="CSS"
android:textSize="25sp"
android:textStyle="bold" />
package com.creativeerror.finalproject;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
public class MainMenuActivity extends AppCompatActivity {
public class MainActivity extends AppCompatActivity {
private List<Model> ModelList = new ArrayList<>();
private RecyclerView recyclerView;
private Adapter Adapter;
private Model bahasa;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
recyclerView = (RecyclerView) findViewById(R.id.rv);
Adapter = new Adapter(getApplicationContext(), ModelList);
RecyclerView.LayoutManager mLayoutManager = new
LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(Adapter);
prepareData();
}
private void prepareData(){
addToList(R.drawable.css, "CSS", "You Choose CSS");
addToList(R.drawable.html, "HTML", "You Choose HTML");
addToList(R.drawable.java, "JAVA", "You Choose JAVA");
addToList(R.drawable.php, "PHP", "You Choose PHP");
addToList(R.drawable.sql, "SQL", "You Choose SQL");
}
private void addToList(int gambar, String namaInd, String namaEng){
bahasa = new Model(gambar, namaInd, namaEng);
ModelList.add(bahasa);
}
}
setContentView(R.layout.YourRecyclerLayoutHere);