簡體   English   中英

Android Studio無法顯示回收站視圖

[英]Android Studio Can't Show Recycler View

剛開始在android studio中構建應用程序,我已經檢查了返回數據,到目前為止沒有錯誤,但是即使在xml中顯示,Recycler View也不在啟動時顯示數據。 線性/相對布局很好,請幫我謝謝

適配器

 package com.creativeerror.finalproject;

 import android.content.Context;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.Toast;

 import java.util.List;

 /**
  * Created by User on 14/05/2017.
  */

 public class Adapter extends RecyclerView.Adapter<Adapter.MyViewHolder> {

private List <Model> bahasalist;
Context context;


public class MyViewHolder extends RecyclerView.ViewHolder {
    TextView nama;
    ImageView gambar;
    LinearLayout layout;

    public MyViewHolder(View view) {
        super(view);
        gambar = (ImageView) view.findViewById(R.id.gambar);
        nama = (TextView) view.findViewById(R.id.nama);
        layout= (LinearLayout) view.findViewById(R.id.layout);


    }
}


public Adapter(Context context, List <Model>  bahasalist) {
    this. bahasalist=  bahasalist;
    this.context= context;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.list_item, parent, false);

    return new MyViewHolder(itemView);
}

@Override
public void onBindViewHolder(final MyViewHolder holder, int position) {
    final Model bahasa = bahasalist.get(position);
    holder.nama.setText(bahasa.getNamaIndo());
    holder.gambar.setImageResource(bahasa.getGambar());
    holder.layout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

 Toast.makeText(context,bahasa.getNamaEng(),Toast.LENGTH_LONG).show();
        }
    });
}

     @Override
        public int getItemCount() {return bahasalist.size();}
 }

模型

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;
}}

Main_menu_Activity.xml

<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>


list_item.xml

 <?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" />


MainMenuActivity.java

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);

    }

}

}

我認為您在MainMenuActivity中調用了錯誤的布局。

setContentView(R.layout.YourRecyclerLayoutHere);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM