, um die Detailansichtsaktivität in Fragment auf Bildschaltfläche anzuzeigen. Ich verschiebe meinen Code von Activity, um ihn unter Fragmentansicht zu verwenden. Das Raster enthält mehrere Bilder, die erfolgreich im Fragment angezeigt werden. Ich versuche, eine Detailansicht basierend auf dem angeklickten Bild anzuzeigen. Aber ich bin dazu nicht in der Lage, dies zu tun, habe verschiedene Möglichkeiten ausprobiert, aber den einen oder anderen Fehler erzeugt. Früher hatte ich setContentView, was anscheinend nicht funktioniert, wenn es für Fragment verwendet wird. Ich bringe das Fragment bereits unter der OnCreateView-Methode auf, bin mir aber nicht sicher, wie mit der Detailansicht auf das Bild geklickt werden soll.Klicken Sie auf
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_one, container, false);
int iconSize=getResources().getDimensionPixelSize(android.R.dimen.app_icon_size);
CustomGrid adapter = new CustomGrid(view.getContext(), iconSize);
GridView gridview = (GridView) view.findViewById(R.id.grid);
gridview.setAdapter(adapter);
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(view.getContext(), "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show();
//setContentView(R.layout.list_item_main);
mListView = (ListView) view.findViewById(R.id.item_list_view);
Item.getRecipesFromDB(OneFragment.this, DBReference);
}
});
return view;
}
@Override
public void newDataReceived(ArrayList<Item> itemList) {
ItemAdapter adapter = new ItemAdapter(mListView.getContext(), itemList);
mListView.setAdapter(adapter);
}
Ich habe versucht, wie vorgeschlagen, aber führt zu einem Fehler: java.lang.UnsupportedOperationException: addView (View) wird nicht unterstützt in AdapterView 'ListItemMainFragment nextFrag = new ListItemMainFragment(); Bündelbündel = neues Bündel(); bundle.putInt ("POSITION", Position); . OneFragment.this.getFragmentManager() begintransaction() .replace (R.id.grid, nextFrag) .addToBackStack (null) .commit(); '' – dacscan3669
@Override Öffentlichkeit onCreateView (LayoutInflater inflater, Viewgroup container, Bundle savedInstanceState) { Ansicht anzeigen = inflater.inflate (R.layout.list_item_main, container, false); mlistView = (ListView) view.findViewById (R.id.item_list_view); final String DBReference = "all/0/Doctors"; Item.getRecipesFromDB (ListItemMainFragment.this, DBReference); Rückansicht; } ' – dacscan3669
' OneFragment.this.getFragmentManager(). BeginTransaction() .replace (R.id.grid, nextFrag) .addToBackStack (null) .commit(); 'Ändern Sie die ID vom Gitter zum Container des Fragments. "R.id.grid" -> R.id.container –