ich hoffe, ich habe es nicht vermasselt! Aber ich habe erstellt und App und habe es gerade getan, aber wenn ich den Zurück-Knopf klicke, schließt es die App. Ich erkenne jetzt, dass ich nur die Ansicht meiner Hauptaktivität ändere, anstatt separate Aktivitäten mit Absicht zu starten. Die App verfügt über 3 Tasten zum Laden von 3 verschiedenen "Ansichten" (einfach, mittel, schwer), die jeweils mit einer Reihe von Bildern gefüllt sind. Ich poste etwas Code, aber nicht sicher, was benötigt wird. sollte ich die Zurück-Schaltfläche überschreiben, um zur MainActivity-Ansicht zurückzukehren? nicht sicher, der beste Weg, um das zu beheben. dankezurück Knopf mit Bildadapter (Basisadapter)
public void onClick(View v) {
switch (v.getId()){
case R.id.btnEasy:
creatArray();
btnEasy.setVisibility(View.INVISIBLE); //hides button on the second activity
btnMed.setVisibility(View.INVISIBLE);
btnHard.setVisibility(View.INVISIBLE);
btnHome.setVisibility(View.VISIBLE);
btnReset.setVisibility(View.VISIBLE);
btnFloat.setVisibility(View.INVISIBLE);
grid=(GridView)findViewById(R.id.grid); //grid is @id of grid in MainActivity
grid.setVisibility(View.VISIBLE);
EasyGridAdapter adapter = new EasyGridAdapter(MainActivity.this, randomPics, overlay); //have to add all images (arrays here) references arrays above
grid.setAdapter(adapter);
break;
public class EasyGridAdapter extends BaseAdapter {
private int[] easyPics;
private int[] overlayPic; //used for overlay ...this is just created here
Context myContext;
String pos0,pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8; //for scoring game
public class Holder
{
RelativeLayout rlParent; //main layout (custom_easy.xml)
ImageView iv; //for images (grid) main ones
ImageView ol; //for overlay
}
public EasyGridAdapter(Context myContext, int easyPics[], int overlayPic[]){
//sets gridadapter to use pics , if had text under pic would need to add after int[] pics
// name EasyGridAdapter is name ot the java class
this.myContext = myContext;
this.easyPics = easyPics;
this.overlayPic = overlayPic;
}
@Override
public int getCount() {
return easyPics.length;
}
@Override
public Object getItem(int position) {
return easyPics[position]; //worked with just easypics
// return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView (final int position, View convertView, ViewGroup parent) {
View grid = convertView; //grid (not sure if this is the same) is @id of grid on activity main
final Holder holder=new Holder();
if (convertView == null){
LayoutInflater inflater = (LayoutInflater) myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); //think inflates above public EasyGridAdapter
grid = inflater.inflate(R.layout.custom_easy, null);
}
//main view (i think inializing veiw)
holder.rlParent = (RelativeLayout) grid.findViewById(R.id.customParent); //customeParent @id set on custom_easy.xml
holder.iv = (ImageView) grid.findViewById(R.id.easyPics); //EasyPics is android id name of imageviewer in custom easy xml
holder.ol = (ImageView) grid.findViewById(R.id.overlayPic);
holder.iv.setImageResource(easyPics[position]); //easypics is the interger from above
holder.rlParent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position==0)
{
REMOVED TO SAVE SPACE...
holder.ol.setVisibility(View.VISIBLE);
}
});
return grid; //returns grid which is name of grid on activity_main.xml (with all stuff in it)
}
}