public class Tester extends Activity {
private ListView list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
new CheckConnection(list.getAdapter().getItem(position))
.execute();
}
});
}
private class CheckConnection extends AsyncTask<Void, Void, Void> {
private Object o;
public CheckConnection(Object o) {
this.o = o;
}
@Override
protected void onPreExecute() {
// Do things like initiate progress bar etc
}
@Override
protected Void doInBackground(Void... params) {
// Do connection check
return null;
}
@Override
protected void onPostExecute(Void result) {
int status = 0;
// determine status
booleanCallBack(status, o);
}
}
private void booleanCallBack(int status, Object o) {
// perform UI related
}
}
당신이 위임 방식을 사용, 이것은 기반으로 쥐게 될 수있는 당신이하는대로 꼭 일부러 정확히 얻을 당신의 context.hence 일반화 된 답변
약간의 컨텍스트 플러스 코드는 콜백에서 수행 할 UI 관련 작업입니다. – Droidekas
예, 비동기 호출에서 결과를 얻으면 UI 관련 작업을 수행해야합니다. – user3079275