2017-01-23 6 views
0

У меня есть приложение, которое получает данные от json и отображает его на просмотре recycler , и при каждом нажатии на просмотр ресайзера открывается новое действие для отображения полного содержимого. все, что я хочу знать, - это показать диалог прогресса, когда вторая активность показывает спасибо. Вот мой кодКак установить индикатор выполнения при щелчке по просмотру ресайзера

 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 предназначен служить именно для этой цели

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() работать на потоке пользовательского интерфейса. Таким образом, вы можете обновить свой интерфейс здесь, например, показ изображения.

Ваша вторая работа должна выглядеть, как это сейчас:

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

Для получения дополнительной помощи, проверьте эти:

+0

спасибо, это сработало –

 Смежные вопросы

  • Нет связанных вопросов^_^