RecyclerView отображает размер массива, но не отображает текст в элементах? Как я могу это исправить ? Я реально в отчаяAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 RecyclerView отображает размер массива, но не отображает текст в элементах? Как я могу это исправить ? Я реально в отчая

Сообщение Anonymous »

RecycleView получает данные из Firestore и размер массивов, но TextView пуст.
Вот код модели:

Код: Выделить всё

public class Subscription {
public   String name;
public   String frequency;
public Date startDate;
public String reminder;
public float cost;
public   String email;
public   String password;
public Subscription (){

}

public Subscription(String name, String frequency, Date startDate, String reminder, float cost, String email, String password)
{
this.name = name;
this.frequency = frequency;
this.startDate = startDate;
this.reminder = reminder;
this.cost = cost;
this.email = email;
this.password = password;
}

public String getSubName() {return name;}
public String getFrequency() {return frequency;}
public Date getStartDate() {return startDate;}
public String getReminder() {return reminder;}
public float getCost() {return cost;}
public String getEmail() {return email;}
public String getPassword() {return password;}
}
Вот класс адаптера:

Код: Выделить всё

public class SubAdapter extends RecyclerView.Adapter {
Context context;
ArrayList subscriptions;

public SubAdapter(Context context, ArrayList subscriptions) {
this.context = context;
this.subscriptions = subscriptions;
}

@NonNull
@Override
public SubAdapter.Subholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(context).inflate(R.layout.mainviewlist,parent ,false);

return new Subholder(v);
}

@Override
public void onBindViewHolder(@NonNull SubAdapter.Subholder holder, int position) {

Subscription subs = subscriptions.get(position);

holder.subName.setText(subs.getSubName());
}

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

public  static  class Subholder extends RecyclerView.ViewHolder{
public TextView subName;
public Subholder(@NonNull View itemView) {
super(itemView);
subName = (TextView) itemView.findViewById(R.id.MVL_text);
}
}
}
А вот MainActivity:

Код: Выделить всё

public class MainActivity extends AppCompatActivity {
Button AddSub = null;
FirebaseFirestore subDB;

RecyclerView recyclerView;
ArrayList Subarraylist;

SubAdapter subAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) ->  {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});

AddSub = (Button) findViewById(R.id.AM_AddSubBtn);
AddSub.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
Intent intent = new Intent(MainActivity.this, AddSubscriptionActivity.class);
startActivity(intent);
}
});

subDB = FirebaseFirestore.getInstance();
recyclerView = findViewById(R.id.MA_recycleView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));

Subarraylist = new ArrayList();
subAdapter = new SubAdapter(MainActivity.this , Subarraylist );
recyclerView.setAdapter(subAdapter);
Eventchangelistener();

}

private void Eventchangelistener() {
FirebaseAuth tempAuth;
tempAuth = FirebaseAuth.getInstance();
FirebaseUser userGet = tempAuth.getCurrentUser();
assert userGet != null;
String userEmail = userGet.getEmail();
subDB.collection("subscriptions").document(userEmail).collection("subscriptions").addSnapshotListener(new EventListener() {
@Override
public void onEvent(@Nullable QuerySnapshot value, @Nullable FirebaseFirestoreException error) {
if(error != null){
Log.e("Error" ,error.getMessage());
return;
}
Subarraylist.clear();
for(DocumentChange dc : value.getDocumentChanges()){
if(dc.getType() == DocumentChange.Type.ADDED){
Subarraylist.add(dc.getDocument().toObject(Subscription.class));
}
subAdapter.notifyDataSetChanged();
}
}
});
}
А вот картинка, в чем проблема:
введите сюда описание изображения
Я уже пробовал много методов, но ничего не помогает. Надеюсь, вы, ребята, дадите мне несколько советов, я очень ценю это.

Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-the-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»