java - ProgressDialog Android AsyncTAsk

标签 java android android-asynctask progressdialog

当 Detail 类在后台打开时,我想在按下 ListView 的任何项目时显示一个 ProgressDialog,我知道我必须使用 asyncTask,但我不知道如何操作,有人可以帮助我吗?

这是我用来显示 ProgressDialog 的 fragment

public class FeedPlayerIndexFragment extends SherlockFragment{     
String url="http://www.toto.com/index.php?format=feed&type=rss";
ArrayList<Article> feeds ;
AndroidSaxFeedParser feedParser= new AndroidSaxFeedParser(url);
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    feeds=feedParser.parse();
    View view=inflater.inflate(R.layout.main, container, false);
    CustomItemAdapter_News lfa = new   CustomItemAdapter_News(getActivity().getApplicationContext(), feeds);
    ((ListView)view.findViewById(R.id.listFeed)).setAdapter(lfa);

    ((ListView)view.findViewById(R.id.listFeed)).setOnItemClickListener(new  OnItemClickListener() {
        public void onItemClick(AdapterView<?> arg0, View v, int  position,long id) {
            Bundle b = new Bundle();
            b.putInt("position", position);
            b.putString("url", url);
            Intent intent=new   Intent(getActivity().getApplicationContext(), DetailActivity.class);
            intent.putExtras(b);
            startActivity(intent);
        }
    });
    return view;
}
} 

这是我的详细 Activity ,应该打开背景

public class DetailActivity extends Activity{
String descriptionFinale = null,imageFinale = null,url;
int position;
TextView description_,titre,date;
ImageView image_;
ArrayList<Article> feeds ;

WebView contentWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.detail);
    Bundle b = getIntent().getExtras();
    position=b.getInt("position");
    url=b.getString("url");
    AndroidSaxFeedParser feedParser= new AndroidSaxFeedParser(url);
    feeds=feedParser.parse();


    date=(TextView) findViewById(R.id.date);
    contentWebView= (WebView)findViewById(R.id.contentWebView);
    titre=(TextView) findViewById(R.id.titre);

    date.setText(feeds.get(position).getTitle());
    GetDescriptionWebView.getDescriptionImage(position, feeds,contentWebView);
    titre.setText("Postulé le: "+GetDateFormat.getDate(position, feeds));

}

}

最佳答案

您可以尝试此代码

public class DetailActivity extends Activity
{
    String descriptionFinale = null,imageFinale = null,url;
    int position;
TextView description_,titre,date;
ImageView image_;
ArrayList<Article> feeds ;

WebView contentWebView;


ProgressDialog dialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.detail);

    feeds=new Arraylist<Article>;
    contentWebView= (WebView)findViewById(R.id.contentWebView);
    date=(TextView) findViewById(R.id.date);
    titre=(TextView) findViewById(R.id.titre);
    Bundle b = getIntent().getExtras();
    position=b.getInt("position");
    url=b.getString("url");
    AndroidSaxFeedParser feedParser= new AndroidSaxFeedParser(url);


    new MyFetchTask().execute();



}

public class MyFetchTask extends AsyncTask<Object, Object, Object>
{

    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();

        dialog=ProgressDialog.show(DetailActivity.this, "", "Loading...");

    }


    @Override
    protected Object doInBackground(Object... params) {
        // TODO Auto-generated method stub

        feeds=feedParser.parse();

        return null;
    }

    @Override
    protected void onPostExecute(Object result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);

        dialod.dismiss();
        date.setText(feeds.get(position).getTitle());
        GetDescriptionWebView.getDescriptionImage(position, feeds,contentWebView);
        titre.setText("Postulé le: "+GetDateFormat.getDate(position, feeds));

    }

}

}

关于java - ProgressDialog Android AsyncTAsk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12838322/

相关文章:

java - 点击推送通知打开应用程序

Linux 中的 Java Tesseract 错误导致 JVM 中出现 SIGSEGV

java - 重新运行 TestNG 测试会导致测试永远运行

android - CardView 填充和圆角

android - 旋转手机时不显示横向布局

android - 如何将按钮添加到自定义适配器?

Java LinkedList 无法直接访问 Node

java - Android - 静态嵌套类(上下文)

java - AsyncTask - 缺少一些东西

Android 在 AsyncTask 之间传递对象