2016-07-22 4 views
1

100 개가 넘는 for 루프의 선형 레이아웃에 동적으로보기를 추가하고 있습니다.보기를 추가 할 때 ProgressDialog가 표시되지 않습니다.

이제보기를 추가하는 동안 ProgressDialog을 표시하려고합니다. 진행 대화 상자를 추가했지만 실제로 화면에보기가 나타나기 전에이를 닫습니다.

for (int i = 0; i =< rowItemsListTemp.size(); i++) { 

    if(i=rowItemsListTemp.size()){ 
     if (pd.isShowing()) { 
     pd.dismiss(); 
     } 
    }else{ 
    View view; 
    LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    view = inflater.inflate(R.layout.product_item_card, null); 

    txt_pro_name = (TextView) view.findViewById(R.id.txt_pro_name); 
    txt_pro_desc = (TextView) view.findViewById(R.id.txt_pro_desc); 

    txt_pro_name.setText(rowItemsListTemp.get(i).getProName()); 
    txt_pro_desc.setText(Html.fromHtml(rowItemsListTemp.get(i).getProDesc())); 
    ll_batcheslist.addView(view); 
    } 

} 
+0

'RecyclerView'또는 'ListView'를 사용하는 것이 좋습니다. –

+0

여기에 게시하지 않은 루프에 대한 더 많은 뷰와 로직이 있습니다. 내 요구 사항에 따라 recyclerview 또는 listview를 사용할 수 없습니다. 나는 이것이 좋은 접근법이 아니라는 것을 안다. –

+0

[작업을 수행하는 동안 ProgressDialog가 표시되지 않음]의 가능한 복제본 (0120-3873-005) – Sufian

답변

0

입니다 이것을 for 루프 마지막에 넣으십시오.

if(i == rowItemsListTemp.size()-1){ 
     if (pd.isShowing()) { 
      pd.dismiss(); 
     } 
    } 

그러나 이것은 좋은 구현처럼 보이지 않습니다.

... for 루프가 100 개를 초과하는 for 루프.

+0

이것은 OP가 요청한 내용이 아닙니다. – Sufian

+0

그 이유는 내가 분명히 위의 솔루션을 제안 오전 언급 한, 나는 결코 아무도 내 대답을 받아 들일 절대. – Drv

+0

당신은 그것에 대한 코멘트를 사용해야합니다. 대답은 적절한 대답을 제공하기위한 것입니다. :) – Sufian

0

:

여기

화면

에 보이는 전망에 대한 콜백이 있습니까 당신은 너무 다른 논리를 시도 할 수 있습니다,하지만 난 제안 할 수 있습니다 하나는 내 코드

final ProgressDialog pd = new ProgressDialog(this); 
pd.setMessage("Please wait..."); 
pd.setCancelable(false); 
pd.show(); 

for (int i = 0; i < rowItemsListTemp.size(); i++) { 
    View view; 
    LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    view = inflater.inflate(R.layout.product_item_card, null); 

    txt_pro_name = (TextView) view.findViewById(R.id.txt_pro_name); 
    txt_pro_desc = (TextView) view.findViewById(R.id.txt_pro_desc); 

    txt_pro_name.setText(rowItemsListTemp.get(i).getProName()); 
    txt_pro_desc.setText(Html.fromHtml(rowItemsListTemp.get(i).getProDesc())); 
    ll_batcheslist.addView(view); 
} 

if (pd.isShowing()) { 
    pd.dismiss(); 
} 
관련 문제