Ich habe eine Android-Aktivität mit einem RecycleView und ich habe ein ClickEvent in diesem RecycleView implementiert.Wie kann ich einen Dialog mit RecycleView zeigen
Wenn ich versuche, auf ein Element zu klicken, möchte ich einen Dialog mit einem anderen RecycleView anzeigen.
Das ist also mein Aktivitätscode:
public class ResultActivity extends AppCompatActivity {
private List<Result> lista= new ArrayList<Result>();
private RecyclerView recyclerView;
private RecyclerView recyclerViewResult;
private ResultsAdapter pAdapter;
private ResultXResultAdapter prAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
try{
super.onCreate(savedInstanceState);
setContentView(R.layout.results_activity);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
ResultDAO manager = new ResultDAO(this);
lista=manager.getResults();
pAdapter = new ResultsAdapter(lista, new ResultsAdapter.OnItemClickListener() {
@Override
public void onItemClick(Result item) {
try{
final Dialog dialog = new Dialog(ResultActivity.this);
dialog.setContentView(R.layout.result_modal);
recyclerViewResult = (RecyclerView) findViewById(R.id.recycler_result_view);
dialog.setTitle("Parametri");
prAdapter = new ResultXResultAdapter(item.getListaParametri());
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerViewResult.setLayoutManager(mLayoutManager);
recyclerViewResult.setItemAnimator(new DefaultItemAnimator());
recyclerViewResult.setAdapter(prAdapter);
dialog.show();
}catch(Exception e){
Log.e("","");
}
}
});
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(pAdapter);
// prepareMovieData();
}catch(Exception e){
}
}
}
Wenn ich meine Anwendung ausführen und ich versuche, auf einem Artikel zu klicken, ich null Ausnahme habe. Das Problem ist in dieser Zeile Code:
recyclerViewResult = (RecyclerView) findViewById(R.id.recycler_result_view);
nach diesem Code, der recyclerViewResult null ist, sollte aber nicht null sein.
ich wirklich empfehlen Verwenden Sie in Ihrem Fall den Fragmentdialog. – Amir