2016-03-26 18 views
0

Ich mag eine Aktivität durch ein Bild beenden, und hier ist das, was ich getan habe:Android: Wie eine Aktivität von einem Image zu beenden, die in einer anderen Klasse auf die Aktivität gehört

gibt es eine Image im Layout [ activity_login.xml].

/** 
* the activity that I want to destroy 
*/ 
public class LoginActivity extends Activity { 

    public static LoginActivity activityInstance; 

    private ImageView imgBtnBack; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 
     // for closing this activity by an another class 
     activityInstance = this; 
     // add event listener 
     imgBtnBack = (ImageView) findViewById(R.id.img_btn_back); 
     imgBtnBack.setOnClickListener(new LoginActivityListener()); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
    } 
} 


/** 
* the event handler of LoginActivity 
*/ 
public class LoginActivityListener implements View.OnClickListener{ 
    private Context context; 

    @Override 
    public void onClick(View view) { 
     context = view.getContext(); 
     int id = view.getId(); 
     switch (id) { 
      case R.id.img_btn_back: // close the activity by an image 
       LoginActivity.activityInstance.finish(); 
      default: 
       break; 
     } 
    } 
} 

Und ich weiß nicht, ob es gut war, wie ich es tat. kann jemand finden und mir einen besseren Weg, um dies zu arbeiten.

+0

Warum wollen Sie die Aktivität beenden? Es könnte bessere Wege geben, damit umzugehen. Ich kenne den Grund, die Aktivität zu beenden. –

Antwort

0

Code unten in Ihrer onCreate Methode hinzufügen

imgBtnBack = (ImageView) findViewById(R.id.img_btn_back); 
imgBtnBack .setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      finish(); 
     } 
    }); 
+0

Aber LoginActivityListener implementiert View.OnClickListener ist eine andere Klasse, die nicht in der Aktivität enthalten ist, was ich schließen möchte; –

+0

Erzähle Einzelheiten über dein tatsächliches Problem. –