У меня есть ArrayList
, где я храню массив элементов указанного поля c документа, и я отправляю его другому действию, как это:
Intent intent = new Intent(ProgramToProgram.this, com.example.newapp.ProgramToProgram1.class);
intent.putExtra("fids", arrayList1);
startActivity(intent);
Я получаю его в другое действие, подобное этому:
arraylist3 = (ArrayList<String>)getIntent().getSerializableExtra("fids");
Теперь у меня есть другой список массивов в этом активе, где я храню другой набор элементов:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
pid = docIds.get(position);
fgboys1.whereEqualTo("pid", pid)
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
String fid = documentSnapshot.get("fid").toString();
arrayList1.add(fid);
arrayAdapter1.notifyDataSetChanged();
}
Toast.makeText(ProgramToProgram1.this, "FIND OUT REGISTERED OR NOT REGISTERED", Toast.LENGTH_SHORT).show();
}
});
}
});
Теперь я хочу сравнить элементы arraylist3 и arraylist1 и возвращают количество элементов и аналогичных элементов. Как мне это сделать?
Это то, что я пробовал, но приложение каждый раз вылетает:
registered.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int i;
arraylist3 = (ArrayList<String>)getIntent().getSerializableExtra("fids");
for (i = 0; i <arraylist3.size(); i++) {
if (arraylist3.contains(arrayList1.get(i))) {
i++;
}
}
tv_reg.setText(i);
}
});
Это ошибка, показанная в журнале:
2020-02-12 11:50:19.014 16489-16489/com.example.newapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.newapp, PID: 16489
android.content.res.Resources$NotFoundException: String resource ID #0x0
at android.content.res.Resources.getText(Resources.java:338)
at android.widget.TextView.setText(TextView.java:5494)
at com.example.newapp.ProgramToProgram1$4.onClick(ProgramToProgram1.java:215)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)