Android-äquivalent von getActivity() aus/in ActionBarActivity

Wie mein Titel sagt, ich bin auf der Suche nach einem äquivalent getActivity() in meinem ActionBarActivity Klasse in meiner Android project.

Möchte ich weitergeben eine Activity parameter in AsyncTask Erklärung-Objekt, denn ich bin mit einem Activity Objekt in meiner custom AsyncTask erweiterten Klasse

Hier ein Beispiel einfachste code von meinem Projekt

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();
            }
        }


    };
}

In einer Zeit, ich dachte, verwenden getParent() aus ActionBarActivity Klasse, aber es wieder ein null-Objekt.
So, wie man das Activity-Objekt möchte ich in ActionBarActivity Klasse ?

  • Ok, wo genau sind Sie versuchen, verwenden Sie diese in Ihrem code?
InformationsquelleAutor MrLeblond | 2015-05-28
Schreibe einen Kommentar