Android eşdeğim gibi, benim ActionBarActivity
benim Android project
içinde benim getActivity()
eşdeğer arıyorum. benim özel AsyncTask
genişletilmiş sınıfın İşteGetActivity() from/in ActionBarAktivite
bir Activity
nesne kullanıyorum çünkü
Ben AsyncTask
beyan nesnesindeki bir Activity
parametre geçmek istiyorum Projemin
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();
}
}
};
}
bir örnek en basit kod olarak Bir süre, sınıfından getParent()
kullanmayı düşündüm, ancak boş bir nesne döndürdü. ActionBarActivity
sınıfındaki etkinlik nesnesini nasıl alabilirim?
Tamam, tam olarak kodunuzda bu kullanmaya çalışıyorsanız nerede? –