2017-01-23 44 views
0

时,我有一个应用程序从JSON获取数据并显示在回收视图 ,当单击各个回收视图它会打开一个新的活动,以显示全部内容。所有我想知道的是如何显示进度对话框befrore第二项活动显示的感谢。 这里是我的代码如何设置进度条回收视图点击

 public CustomViewHolder(View view, Context ctx, ArrayList<FeedItem> feeditem) { 
     super(view); 

     view.setOnClickListener(this); 
     this.ctx = ctx; 
     this.feeditem = feeditem; 
     this.imageView = (ImageView) view.findViewById(R.id.thumbnail); 
     this.textView2 = (TextView) view.findViewById(R.id.date); 
     this.textView3 = (TextView) view.findViewById(R.id.excerpt); 
     this.categories = (TextView) view.findViewById(R.id.categories); 
     this.textView = (TextView) view.findViewById(R.id.title); 
    } 

    @Override 
    public void onClick(View v) { 
     int position = getAdapterPosition(); 
     FeedItem feeditem = this.feeditem.get(position); 
     Intent intent = new Intent(this.ctx, ScrollingActivity.class); 
     intent.putExtra("excerpt",feeditem.getExcerpt()); 
     intent.putExtra("content",feeditem.getContent()); 
     intent.putExtra("title",feeditem.getTitle()); 
     Html.fromHtml(String.valueOf(intent.putExtra("content",feeditem.getContent()))).toString(); 
     intent.putExtra("thumbnail",feeditem.getAttachmentUrl()); 
     this.ctx.startActivity(intent); 


    } 
+1

在显示其他活动之前是否有延迟?为什么你想要显示进度对话框? –

+0

是有延迟;图像需要时间,所以因此我希望进度对话框显示为图像渲染@AbhishekJain –

回答

0

您的第二个活动来对付它。在那里,你应该把你所有的数据加载或重处理工作在后台线程和更新用户界面,当你拥有的数据或处理完成。

的AsyncTask旨在服务正是为此在UI线程

public class LoadDataTask extends AsyncTask<Void, Void, Void> { 
    public LoadDataTask(ProgressDialog progress) { 
    this.progress = progress; 
    } 

    public void onPreExecute() { 
    progress.show(); 
    } 

    public void doInBackground(Void... unused) { 
    ... load your image here ... 
    } 

    public void onPostExecute(Void unused) { 
    progress.dismiss(); 
    } 
} 

onPreExecute()onPostExecute()运行。所以你可以在这里更新你的UI,就像展示图片一样。

你的第二个活动应该是现在这个样子:

ProgressDialog progress = new ProgressDialog(this); 
progress.setMessage("Loading..."); 
new LoadDataTask(progress).execute(); 

如需进一步的帮助,检查这些:

+0

由于加载,它的工作 –