RecyclerView не отображает элементы java
MainActivity
package com.example.prototype;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class MainActivity extends AppCompatActivity {
private TextView nameView;
private TextView emailView;
private TextView telView;
private TextView commonBalanceView;
private RecyclerView exchangesListView;
private User user;
private RecyclerView.Adapter adapter;
private List<Exchange> exchangeList = new ArrayList<Exchange>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
exchangeList.add(new Exchange("Binance"));
exchangeList.add(new Exchange("Huobi"));
exchangeList.add(new Exchange("Coinbase"));
exchangeList.add(new Exchange("FTX"));
exchangeList.add(new Exchange("Gemini"));
nameView = findViewById(R.id.nameView);
emailView = findViewById(R.id.emailView);
telView = findViewById(R.id.telView);
commonBalanceView = findViewById(R.id.commonBalanceView);
exchangesListView = findViewById(R.id.exchangesListView);
user = new User("Петров Василий Геннадьевич", "[email protected]", "+79345678231");
nameView.setText(user.getName());
emailView.setText("EMAIL: " + user.getEmail());
telView.setText("Телефон: " + user.getTelephone());
ArrayList<Account>accounts = new ArrayList<Account>();
accounts.add(new Account("5678123", exchangeList.get(2), 4567 ));
accounts.add(new Account("4567812", exchangeList.get(0), 17687));
int sum = 0;
for(int i = 0; i<accounts.size(); i++)
{
sum+= accounts.get(i).getBalance();
}
commonBalanceView.setText(Integer.toString(sum));
adapter = new AccountAdapter(this, accounts);
exchangesListView.setAdapter(adapter);
commonBalanceView.setText(Integer.toString(exchangesListView.getAdapter().getItemCount()));
}
class AccountAdapter extends RecyclerView.Adapter<AccountAdapter.ViewHolder>{
private final LayoutInflater inflater;
private final List<Account> accounts;
AccountAdapter(Context context, List<Account> accounts) {
this.accounts = accounts;
this.inflater = LayoutInflater.from(context);
}
@Override
public AccountAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.items, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(AccountAdapter.ViewHolder holder, int position) {
Account account = accounts.get(position);
holder.UIDView.setText("#" + account.getUID());
holder.exchangeNameView.setText(account.getExchg().getName());
holder.balanceView.setText(Integer.toString(account.getBalance()));
}
@Override
public int getItemCount() {
return accounts.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView UIDView;
private TextView exchangeNameView;
private TextView balanceView;
ViewHolder(View view){
super(view);
exchangeNameView = view.findViewById(R.id.exchangeNameView);
balanceView = view.findViewById(R.id.balanceView);
UIDView = view.findViewById(R.id.UIDView);
}
}
}
}
items.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"
android:maxHeight="100dp">
<TextView
android:id="@+id/exchangeNameView"
android:layout_width="144dp"
android:layout_height="30dp"
android:layout_marginStart="17dp"
android:layout_marginLeft="17dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="250dp"
android:layout_marginRight="250dp"
android:layout_marginBottom="50dp"
android:text="TextView"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="337dp"
android:layout_marginRight="337dp"
android:layout_marginBottom="21dp"
android:text="Баланс:"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/exchangeNameView" />
<TextView
android:id="@+id/balanceView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="23dp"
android:layout_marginLeft="23dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="260dp"
android:layout_marginRight="260dp"
android:layout_marginBottom="21dp"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView2"
app:layout_constraintTop_toBottomOf="@+id/exchangeNameView" />
<TextView
android:id="@+id/UIDView"
android:layout_width="117dp"
android:layout_height="33dp"
android:layout_marginStart="43dp"
android:layout_marginLeft="43dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="89dp"
android:layout_marginRight="89dp"
android:layout_marginBottom="50dp"
android:text="TextView"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/exchangeNameView"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
activity_main.xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/exchangesListView"
android:layout_width="408dp"
android:layout_height="447dp"
android:layout_marginStart="2dp"
android:layout_marginLeft="2dp"
android:layout_marginEnd="1dp"
android:layout_marginRight="1dp"
android:layout_marginBottom="1dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4"
tools:listitem="@layout/items"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>