Я хочу отобразить mygridview, он работает нормально, но сначала он не отображается, я пытался использовать его до и после того, как "setOnItemClickListener" все еще не работает, я пытался отложить его, возможно, это из-за Graphi c вещи тоже ничего ... есть идеи, ребята? это часть моего прогресса в работе, где я верю в это, я останавливаюсь
private GenreAdapter NavAdapter;
private ListView listView;
TextView textView;
GridView recyclerView;
ArrayList<Films> chosenListOfMovies = new ArrayList<Films>();
MovieAdapter movieAdapter;
int pos =0 ;
listView = (ListView) findViewById(R.id.mobile_list);
NavAdapter = new GenreAdapter(getApplicationContext(), Constants.categoryMovies);
textView = (TextView) findViewById(R.id.text);
recyclerView = (GridView)findViewById(R.id.listeProduit);
listView.setAdapter(NavAdapter);
listView.requestFocus();
remplir_liste(1);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
remplir_liste(position);
}
});
listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
remplir_liste(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
if(!recyclerView.hasFocus()) {
pos = listView.getSelectedItemPosition() + 1;
if (pos == 1) {
pos = listView.getAdapter().getCount() - 1;
}
listView.setItemChecked(pos, true);
listView.setSelection(pos);
}
break;
case KeyEvent.KEYCODE_DPAD_DOWN:
if(!recyclerView.hasFocus()) {
pos = listView.getSelectedItemPosition() - 1;
if (pos == listView.getAdapter().getCount() - 2) {
pos = 0;
}
listView.setItemChecked(pos, true);
listView.setSelection(pos);
}
break;
case KeyEvent.KEYCODE_BACK:
if(recyclerView.isSelected()){
recyclerView.clearFocus();
listView.requestFocus();
}else{
refreshlist();
finish();
}
}
return false;
}
public void remplir_liste(int x){
chosenListOfMovies.clear();
for(Films film: Constants.listOfFilms){
if (film.getGenre().equals(Constants.categoryMovies.get(x))){
chosenListOfMovies.add(film);
}
}
movieAdapter = new MovieAdapter(getApplicationContext(),chosenListOfMovies);
recyclerView.setAdapter(movieAdapter);
recyclerView.clearFocus();
textView.setText("nombre de films ("+chosenListOfMovies.size()+"/"+ Constants.listOfFilms.size()+")");
}