package com.crumbin.tabs;
//java package
import java.io.IOException;
import java.util.ArrayList;
import org.json.JSONException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ListView;
import com.crumbin.main.R;
import com.crumbin.models.User;
import com.crumbin.utilities.UserFollowingListAdapter;
public class HomeActivity extends Activity{
final ArrayList<User> users1 = new ArrayList<User>();
User user;
// public ArrayList<User> users1 = new ArrayList<User>();
private UserFollowingListAdapter csl;
private ListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user_main_tab_home);
lv = (ListView) findViewById(R.id.user_crumbs_list);
// ListView lv = (ListView) findViewById(R.id.user_crumbs_list);
AsyncLoader task = new AsyncLoader();
task.execute();
}
private class AsyncLoader extends AsyncTask<String,Void, String> {
ProgressDialog dialog;
@Override
protected void onPreExecute(){
String pa = "helllo";
return;
}
@Override
protected String doInBackground(String... pa) {
String response = "";
try {
try {
user = new User("4eeb34c6d80e8f1214000000");
user.getFollowingCrumbsUpList();
for(User u : user.following){
users1.add(u);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
protected void onPostExecute(String result) {
//dialog.dismiss();
ListView lv = (ListView) findViewById(R.id.user_crumbs_list);
final UserFollowingListAdapter csl = new UserFollowingListAdapter(HomeActivity.this,R.layout.user_crumbs_list_item,users1,this);
lv.setAdapter(csl);
return;
}
}
public void showError(){
new AlertDialog.Builder(this)
.setTitle(" Oops , Server down :(")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
//
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Do nothing.
}
}).show();
}
}
Ошибка:PostExecute() AsyncTask не загружается. Где я иду не так?
02-04 13:11:34.596: E/AndroidRuntime(2464): FATAL EXCEPTION: main
02-04 13:11:34.596: E/AndroidRuntime(2464): java.lang.ClassCastException: com.crumbin.tabs.HomeActivity$AsyncLoader cannot be cast to android.app.Activity
02-04 13:11:34.596: E/AndroidRuntime(2464): at com.crumbin.utilities.UserFollowingListAdapter.<init>(UserFollowingListAdapter.java:40)
02-04 13:11:34.596: E/AndroidRuntime(2464): at com.crumbin.tabs.HomeActivity$AsyncLoader.onPostExecute(HomeActivity.java:106)
02-04 13:11:34.596: E/AndroidRuntime(2464): at com.crumbin.tabs.HomeActivity$AsyncLoader.onPostExecute(HomeActivity.java:1)
02-04 13:11:34.596: E/AndroidRuntime(2464): at android.os.AsyncTask.finish(AsyncTask.java:602)
02-04 13:11:34.596: E/AndroidRuntime(2464): at android.os.AsyncTask.access$600(AsyncTask.java:156)
02-04 13:11:34.596: E/AndroidRuntime(2464): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
02-04 13:11:34.596: E/AndroidRuntime(2464): at android.os.Handler.dispatchMessage(Handler.java:99)
02-04 13:11:34.596: E/AndroidRuntime(2464): at android.os.Looper.loop(Looper.java:137)
02-04 13:11:34.596: E/AndroidRuntime(2464): at android.app.ActivityThread.main(ActivityThread.java:4424)
02-04 13:11:34.596: E/AndroidRuntime(2464): at java.lang.reflect.Method.invokeNative(Native Method)
02-04 13:11:34.596: E/AndroidRuntime(2464): at java.lang.reflect.Method.invoke(Method.java:511)
02-04 13:11:34.596: E/AndroidRuntime(2464): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
02-04 13:11:34.596: E/AndroidRuntime(2464): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
02-04 13:11:34.596: E/AndroidRuntime(2464): at dalvik.system.NativeStart.main(Native Method)
данные не загружаются. Цикл даже не достигает OnpostExecute(). Что может быть ошибкой? Я не получаю ошибок. Просто, что это даже не доходит до этой части.
То, что я хочу сделать это:
Просто загрузите данные в виде списка. Вот и все. И все же это не работает. Логика в порядке. Это работает, если я использую его без AsyncTask. Но, если я помещу код в него, это не сработает.
Я получаю эту ошибку: Активность просочилась в окно [email protected], которое было первоначально добавлено здесь – Hick
опубликуйте вывод logcat в вопросе, чтобы получить лучшую идею. –
Выложили новый код и вывод logcat. – Hick