我用firebase的recyclerview创建了一个模型类,但是当我尝试获取时,itens的位置被选中。 selectedItemCount对于每个项目仅返回相同的值...用户只能在列表中选择3个类别,我如何才能检索类别中每个位置的正确值?
查看selectedItemCount = 0;他们将始终返回位置0,对不对? 我真的需要为列表中的每个项目创建53 selectedItemCount吗?这样吗?
int selectedItemCount0;
int selectedItemCount1;
int selectedItemCount2;
int selectedItemCount3;
int selectedItemCount4;
int selectedItemCount5;
int selectedItemCount6;
int selectedItemCount7;
int selectedItemCount8;
int selectedItemCount9;
int selectedItemCount10;
int selectedItemCount11;
selectedItemCount = 0;
selectedItemCount = 1;
selectedItemCount = 2;
selectedItemCount = 3;
selectedItemCount = 4;
selectedItemCount = 5;
selectedItemCount = 6;
selectedItemCount = 7;
selectedItemCount = 8;
selectedItemCount = 9;
selectedItemCount = 10;
selectedItemCount = 11;
and i pass this on my onClick `public void openDIContinuarTag()`
mDatabase.child(identificadorUsuarios).child("Categorias").child("0").setValue(Categoria.get(selectedItemCount));
mDatabase.child(identificadorUsuarios).child("Categorias").child("1").setValue(Categoria.get(selectedItemCount1));
mDatabase.child(identificadorUsuarios).child("Categorias").child("2").setValue(Categoria.get(selectedItemCount2));
或者如果(selectedItemCount = position0){ mDatabase.child(identificadorUsuarios).child(“ Categorias”)。child(“ 2”)。setValue(Categoria.get(selectedItemCount));; }如果{ mDatabase.child(identificadorUsuarios).child(“ Categorias”)。child(“ 1”)。setValue(Categoria.get(selectedItemCount1));; }
等...?
我的模型课程
public class Categorias {
private String Id;
private String Categoria;
private int Imagem;
private String ImagemUri;
public Categorias(String id, String categoria, int imagem, String imagemUri) {
Id = id;
Categoria = categoria;
Imagem = imagem;
ImagemUri = imagemUri;
}
public String getId() {
return Id;
}
public void setId(String id) {
Id = id;
}
public String getCategoria() {
return Categoria;
}
public void setCategoria(String categoria) {
Categoria = categoria;
}
@Exclude
public int getImagem() {
return Imagem;
}
@Exclude
public void setImagem(int imagem) {
Imagem = imagem;
}
public String getImagemUri() {
return ImagemUri;
}
public void setImagemUri(String imagemUri) {
ImagemUri = imagemUri;
}
}
我的类别。java
RecyclerView DICategoriasRecyclerView;
RecyclerViewAdapter2 recyclerViewAdapter2;
ArrayList<TagsModel> DICategorias;
private Button DIBotaoContinuarTag;
**int selectedItemCount;**
Bundle bundle;
HashMap<Integer, List<String>> DICategoriasData = new HashMap<Integer, List<String>>();
ArrayList<Categorias> Categoria = new ArrayList<>();
private DatabaseReference mDatabase;
private FirebaseAuth firebaseAuth;
private Uri mImageUri;
private StorageReference storageReference;
boolean isToggledRadio1 = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
//=============================
firebaseAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference().child("Usuários");
storageReference = FirebaseStorage.getInstance().getReference().child("Categorias");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_influencer_categorias);
getSupportActionBar().hide();
di_tags1();
DICategoriasRecyclerView = findViewById(R.id.DICategoriasRecyclerView);
**selectedItemCount = 0;**
recyclerViewAdapter2 = new RecyclerViewAdapter2(Categoria, this);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
DICategoriasRecyclerView.setLayoutManager(linearLayoutManager);
DICategoriasRecyclerView.setLayoutManager(new GridLayoutManager(this, 3));
DICategoriasRecyclerView.setHasFixedSize(true);
recyclerViewAdapter2.notifyDataSetChanged();
DIBotaoContinuarTag = (Button) findViewById(R.id.DIBotaoContinuarTag);
DIBotaoContinuarTag.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openDIContinuarTag();
}
});
DICategoriasRecyclerView.setAdapter(recyclerViewAdapter2);
}
public void di_tags1() {
// ACESSORIÓS fica na posição 0
Categoria.add(new Categorias("0", "ACESSORIÓS", R.drawable.categorias_acessorios));
// ANIMAIS fica na posição 1
Categoria.add(new Categorias("1", "ANIMAIS", R.drawable.categorias_animais));
// ARQUITETURA fica na posição 2
Categoria.add(new Categorias("2", "ARQUITETURA", R.drawable.categorias_arquitetura));
// ASTROLOGIA fica na posição 3
Categoria.add(new Categorias("3", "ASTROLOGIA", R.drawable.categorias_astrologia));
// ATUALIDADES fica na posição 4
Categoria.add(new Categorias("4", "ATUALIDADES", R.drawable.categorias_atualidades));
// AUTOCONHECIMENTO fica na posição 5
Categoria.add(new Categorias("5", "AUTOCONHECIMENTO", R.drawable.categorias_autoconhecimento));
// AUTOMOTORES fica na posição 6
Categoria.add(new Categorias("6", "AUTOMOTORES", R.drawable.categorias_automotores));
// BELEZA fica na posição 7
Categoria.add(new Categorias("7", "BELEZA", R.drawable.categorias_beleza));
// CASAMENTO fica na posição 8
Categoria.add(new Categorias("8", "CASAMENTO", R.drawable.categorias_casamento));
// COMPORTAMENTO fica na posição 9
Categoria.add(new Categorias("9", "COMPORTAMENTO", R.drawable.categorias_comportamento));
// COMUNICAÇÃO fica na posição 10
Categoria.add(new Categorias("10", "COMUNICAÇÃO", R.drawable.categorias_comunicacao));
// DECORAÇÃO fica na posição 11
Categoria.add(new Categorias("11", "DECORAÇÃO", R.drawable.categorias_decoracao));
// DERMATOLOGIA fica na posição 12
Categoria.add(new Categorias("12", "DERMATOLOGIA", R.drawable.categorias_dermatologia));
// DICAS fica na posição 13
Categoria.add(new Categorias("13", "DICAS", R.drawable.categorias_dicas));
// DIVERSÃO fica na posição 14
Categoria.add(new Categorias("14", "DIVERSÃO", R.drawable.categorias_diversao));
// ECOLOGIA fica na posição 15
Categoria.add(new Categorias("15", "ECOLOGIA", R.drawable.categorias_ecologia));
// EDUCAÇÃO fica na posição 16
Categoria.add(new Categorias("16", "EDUCAÇÃO", R.drawable.categorias_educacao));
// EMPREENDEDORISMO fica na posição 17
Categoria.add(new Categorias("17", "EMPREENDEDORISMO", R.drawable.categorias_empreendedorismo));
// ENTRETENIMENTO fica na posição 18
Categoria.add(new Categorias("18", "ENTRETENIMENTO", R.drawable.categorias_entretenimento));
// ESPORTES fica na posição 19
Categoria.add(new Categorias("19", "ESPORTES", R.drawable.categorias_esportes));
// EVENTOS fica na posição 20
Categoria.add(new Categorias("20", "EVENTOS", R.drawable.categorias_eventos));
// FINANCEIRO fica na posição 21
Categoria.add(new Categorias("21", "FINANCEIRO", R.drawable.categorias_financeiro));
// FISICULTURISMO fica na posição 22
Categoria.add(new Categorias("22", "FISICULTURISMO", R.drawable.categorias_fisiculturismo));
// FITNESS fica na posição 23
Categoria.add(new Categorias("23", "FITNESS", R.drawable.categorias_fitness));
// FOFOCA fica na posição 24
Categoria.add(new Categorias("24", "FOFOCA", R.drawable.categorias_fofoca));
// FRASES fica na posição 25
Categoria.add(new Categorias("25", "FRASES", R.drawable.categorias_frases));
// GAMES fica na posição 26
Categoria.add(new Categorias("26", "GAMES", R.drawable.categorias_games));
// GASTRONOMIA fica na posição 27
Categoria.add(new Categorias("27", "GASTRONOMIA", R.drawable.categorias_gastronomia));
// GIFTS fica na posição 28
Categoria.add(new Categorias("28", "GIFTS", R.drawable.categorias_gifts));
// JORNALISMO fica na posição 29
Categoria.add(new Categorias("29", "JORNALISMO", R.drawable.categorias_jornalismo));
// LIFESTYLE fica na posição 30
Categoria.add(new Categorias("30", "LIFESTYLE", R.drawable.categorias_lifestyle));
// LITERATURA fica na posição 31
Categoria.add(new Categorias("31", "LITERATURA", R.drawable.categorias_literatura));
// LUXO fica na posição 32
Categoria.add(new Categorias("32", "LUXO", R.drawable.categorias_luxo));
// MAKE-UP fica na posição 33
Categoria.add(new Categorias("33", "MAKE-UP", R.drawable.categorias_make_up));
// MATERNIDADE fica na posição 34
Categoria.add(new Categorias("34", "MATERNIDADE", R.drawable.categorias_maternidade));
// MEDICINA fica na posição 35
Categoria.add(new Categorias("35", "MEDICINA", R.drawable.categorias_medicina));
// MEIO AMBIENTE fica na posição 36
Categoria.add(new Categorias("36", "MEIO AMBIENTE", R.drawable.categorias_meio_ambiente));
// MODA fica na posição 37
Categoria.add(new Categorias("37", "MODA", R.drawable.categorias_moda));
// MÚSICA fica na posição 38
Categoria.add(new Categorias("38", "MÚSICA", R.drawable.categorias_musica));
// NEWS fica na posição 39
Categoria.add(new Categorias("39", "NEWS", R.drawable.categorias_news));
// ODONTOLOGIA fica na posição 40
Categoria.add(new Categorias("40", "ODONTOLOGIA", R.drawable.categorias_odontologia));
// PAISAGISMO fica na posição 41
Categoria.add(new Categorias("41", "PAISAGISMO", R.drawable.categorias_paisagismo));
// PALESTRAS fica na posição 42
Categoria.add(new Categorias("42", "PALESTRAS", R.drawable.categorias_palestras));
// PATERNIDADE fica na posição 43
Categoria.add(new Categorias("43", "PATERNIDADE", R.drawable.categorias_paternidade));
// PETS fica na posição 44
Categoria.add(new Categorias("44", "PETS", R.drawable.categorias_pets));
// POLÍTICA fica na posição 45
Categoria.add(new Categorias("45", "POLÍTICA", R.drawable.categorias_politica));
// PRATICIDADE fica na posição 46
Categoria.add(new Categorias("46", "PRATICIDADE", R.drawable.categorias_praticidade));
// PSICOLOGIA fica na posição 47
Categoria.add(new Categorias("47", "PSICOLOGIA", R.drawable.categorias_psicologia));
// RESTAURANTE fica na posição 48
Categoria.add(new Categorias("48", "RESTAURANTE", R.drawable.categorias_restaurante));
// SAÚDE fica na posição 49
Categoria.add(new Categorias("49", "SAÚDE", R.drawable.categorias_saude));
// SUPLEMENTOS fica na posição 50
Categoria.add(new Categorias("50", "SUPLEMENTOS", R.drawable.categorias_suplementos));
// TECNOLOGIA fica na posição 51
Categoria.add(new Categorias("51", "TECNOLOGIA", R.drawable.categorias_tecnologia));
// TERAPIA fica na posição 52
Categoria.add(new Categorias("52", "TERAPIA", R.drawable.categorias_terapia));
// VIAGENS fica na posição 53
Categoria.add(new Categorias("53", "VIAGENS", R.drawable.categorias_viagens));
// YOUTUBE fica na posição 54
Categoria.add(new Categorias("54", "YOUTUBE", R.drawable.categorias_youtube));
}
public void openDIContinuarTag() {
SparseBooleanArray asd = recyclerViewAdapter2.sparseBooleanArray;
ArrayList<String> ListaFinal = new ArrayList<String>();
ListaFinal.clear();
final int checkedItemCount = asd.size();
for (int i = 0; i < checkedItemCount; i++) { // loop em todos os items... mas o Toast Sobrescreve a outra mensagem.
int key = asd.keyAt(i);
if (asd.get(key)) {
List<String> ListResult = DICategoriasData.get(key);
ListaFinal.add(String.valueOf(key));
for (int z = 0; z < (ListResult.size()); z++) { // Faz o Loop dentro de todos os itens da sublista
String asdasd = ListResult.get(z);
ListaFinal.add(asdasd);
}
} else {
}
}
final int selectedItemCount = asd.size();
for (int i = 0; i < selectedItemCount; i++) {
int key = asd.keyAt(i);
if (asd.get(key)) {
List<String> ListResult = Categorias.class.;
ListaFinal.add(String.valueOf(key));
for (int z = 0; z < (ListResult.size()); z++) {
String asdasd = ListResult.get(z);
ListaFinal.add(asdasd);
}
} else {
}
}
String identificadorUsuarios = Base64Custom.codificarBase64(firebaseAuth.getCurrentUser().getEmail().toString());
mDatabase.child(identificadorUsuarios).child("Categorias").child("0").setValue(Categoria.get(selectedItemCount));
mDatabase.child(identificadorUsuarios).child("Categorias").child("1").setValue(Categoria.get(selectedItemCount));
mDatabase.child(identificadorUsuarios).child("Categorias").child("2").setValue(Categoria.get(selectedItemCount));
Intent intent = new Intent(this, Influencer_Sub_Categorias.class);
intent.putStringArrayListExtra("Result", ListaFinal);
startActivity(intent);
}
@Override
public void selectedItemCount(int position) {
selectedItemCount = position;
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
}
答案 0 :(得分:0)
也许我需要在“ selectedItemCount”上使用循环?