2012-06-23 3 views
1

나는 android development를 처음 사용했습니다. 주 활동 클래스에서 버튼을 클릭 할 때 팝업 창을 만들었습니다. 팝업 창에 일부 편집 텍스트 필드가 있습니다. 버튼 클릭을 통해 팝업 창에서이 모든 편집 텍스트 필드를 지울 수 있습니까? 그렇다면 어떻게? 미리 감사드립니다 !! 아래는 내가 노력하고 있지만 그것은 null 포인트 예외를 제공하고 있습니다.팝업 창에 클리어 버튼을 추가하는 방법

public void initatePopupWindow(View view) 
{ 
    try 
    { 
     LayoutInflater inflater=(LayoutInflater) ContactdetailsActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View layout=inflater.inflate(R.layout.popupwindow,(ViewGroup)findViewById(R.id.popuplayout)); 
     pw = new PopupWindow(layout, 500, 500, true); 
     pw.showAtLocation(layout, Gravity.CENTER, 0, 0); 
     Button b1=(Button)layout.findViewById(R.id.cancel); 
     b1.setOnClickListener(cancel_button_click_listener); 
     Button b2=(Button)layout.findViewById(R.id.clear); 

     b2.setOnClickListener(clear_fields); 


    } 
    catch (Exception e) 
    { 

    } 
} 
    private OnClickListener clear_fields= new OnClickListener() 
    { 
     public void onClick(View v) 
     { 

     ViewGroup group= (ViewGroup)findViewById(R.id.popuplayout); 
      for(int i=0,count=getChildCount(); i<count; ++i) 
      { 
       View v1= group.getChildAt(i); 
       if(v1 instanceof EditText) 
       { 
        ((EditText)v1).setText(""); 
       } 
       if(v1 instanceof ViewGroup && (((ViewGroup)v1).getChildCount() > 0)) 
        onClick((ViewGroup)v1); 
      } 
     } 
    }; 
    private OnClickListener cancel_button_click_listener=new OnClickListener() 
    { 
     public void onClick(View v) 
     { 
     pw.dismiss(); 
     } 
    }; 

} 
+0

logcat 오류를 게시하십시오. 나는이 줄에서 오류가 발생하고있는 문제를 식별하는 – Sam

답변

0

이 줄에 오류가 있습니까?

ViewGroup group= (ViewGroup)findViewById(R.id.popuplayout); 

ViewGroup group= (ViewGroup) layout.findViewById(R.id.popuplayout);//layout is your inflated 

나는 당신이 레이아웃 inflator에서 호출 한 값을 사용해야한다고 생각합니다.

어쨌든, 다음과 같이해야합니다. 모든 편집 텍스트에 대한 참조를 얻은 다음 하나씩 삭제하십시오. 어쩌면 편집 텍스트 배열을 유지하고 유형을 확인하는 대신 텍스트를 ""로 설정하십시오.

+0

덕분에 내가 레이아웃 인플레이터 내가 그룹 = (뷰 그룹) layout.findViewById (R.id을 뷰 그룹 사용하고 있으므로 다른 기능에있다라고하는보기 레이아웃을 only.But. popuplayout); 그것은 레이아웃을 확인할 수 없다는 것을 보여줍니다. 이걸 좀 도와 주실 수 있습니까? – user1477459

+0

감사합니다 레이아웃 전역 변수를 만들거나 그것에 최종 넣어. –

관련 문제