Wie mein Titel sagt, ich bin auf der Suche nach einem Äquivalent von getActivity()
in meinem ActionBarActivity
Klasse in meinem Android project
.Android Äquivalent von getActivity() von/in ActionBarActivity
Ich mag einen Activity
Parameter in AsyncTask
Erklärung Objekt zu übergeben, weil ich in meiner benutzerdefinierten AsyncTask
erweiterten Klasse
Hier ist ein Beispiel einfachste Code meines Projektes
public class EventCreator extends ActionBarActivity {
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_even_creator);
View v = getLayoutInflater().inflate(R.layout.activity_even_creator,null);
this.context = this.getBaseContext();
final Button createButton = (Button)findViewById(R.id.createEventButton);
createButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AsyncTask<Void,Void,Boolean> eventCreatorSend = new SendEvents(/* here need activity object */);
eventCreatorSend.execute();
}
});
}
class SendEvents extends AsyncTask<Void,Void,Boolean> {
public Activity act;
SendEvents(Activity a) {
this.act = a;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
((LinearLayout)act.findViewById(R.id.layout_loader_create_event)).setVisibility(View.VISIBLE);
}
@Override
protected Boolean doInBackground(Void... params) {
SystemClock.sleep(5000);
return true;
}
@Override
protected void onPostExecute(Boolean params) {
if (params){
((LinearLayout)act.findViewById(R.id.layout_loader_create_event)).setVisibility(View.GONE);
act.finish();
}
else {
((LinearLayout)act.findViewById(R.id.layout_loader_create_event)).setVisibility(View.VISIBLE);
Toast.makeText(act,"Fail to send event",Toast.LENGTH_SHORT).show();
}
}
};
}
ein Activity
Objekt bin mit In eine Zeit, ich dachte, getParent()
von ActionBarActivity
Klasse verwenden, aber es gibt ein Null-Objekt zurück. Also, wie bekomme ich das Activity-Objekt in ActionBarActivity
Klasse?
Ok überall dargestellt werden kann, wo genau sind Sie dies versuchen, in Ihrem Code zu benutzen? –