2012-05-24 5 views
0

ImageView 및 TextView가 포함 된 2 개의 중첩 된 LinearLayout이있는 기본 LinearLayout이 포함 된 사용자 정의 대화 상자를 만들려고합니다.사용자 정의 대화 상자의 중첩 된 LinerLayout이 표시되지 않습니다.

하지만 문제는 LinearLayout이 표시되지 않습니다. 오류가 발생하지 않고 응용 프로그램이 충돌하지 않습니다.

감사합니다.

다음은이 문제와 관련된 코드 세그먼트 :

AlertDialog.Builder builder = new AlertDialog.Builder(this); 

     ll_main = new LinearLayout(AddFreebie.this); 
     ll_main.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     ll_main.setGravity(Gravity.CENTER); 
     ll_main.setOrientation(LinearLayout.VERTICAL); 

     ll_bpic = new LinearLayout(AddFreebie.this); 
     ll_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     ll_bpic.setGravity(Gravity.CENTER); 
     ll_bpic.setOrientation(LinearLayout.HORIZONTAL); 
     iv_bpic = new ImageView(AddFreebie.this); 
     iv_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     tv_bpic = new TextView(AddFreebie.this); 
     tv_bpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     tv_bpic.setText("Browse phone for pictures.."); 

     ll_bpic.addView(iv_bpic); 
     ll_bpic.addView(tv_bpic); 

     ll_cpic = new LinearLayout(AddFreebie.this); 
     ll_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     ll_cpic.setGravity(Gravity.CENTER); 
     ll_cpic.setOrientation(LinearLayout.HORIZONTAL); 
     iv_cpic = new ImageView(AddFreebie.this); 
     iv_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     tv_cpic = new TextView(AddFreebie.this); 
     tv_cpic.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
       LayoutParams.WRAP_CONTENT)); 
     tv_cpic.setText("Take pictures using camera."); 
     ll_cpic.addView(iv_cpic); 
     ll_cpic.addView(tv_cpic); 

     ll_main.addView(ll_bpic); 
     ll_main.addView(ll_cpic); 

     builder.setView(ll_main); 
     builder.setCancelable(true); 
     builder.setPositiveButton("Yes", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, 
            int id) { 
           // MyActivity.this.finish(); 
          } 
         }) 
       .setNegativeButton("No", 
         new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, 
            int id) { 
           dialog.cancel(); 
          } 
         }); 
     AlertDialog alert = builder.create(); 
     alert.show(); 
+0

XML 뷰에서 코드를 부풀리지 않습니까? –

+0

@ eric.itzhak에서 xml보기? 나 didnt는 당신을 얻는다. 당신은 대화를위한 전용 레이아웃을 만들고 builder를 만든다는 것을 의미한다. setView (R.layout.dialog_view) 이런 식으로? 또한 같은 일이 아니겠습니까? 응답 해 주셔서 감사합니다. – Viking

+0

그래도 똑같지 만 레이아웃이 사라질 이유가 없으며 쉽게 관리 할 수 ​​있습니다. –

답변

2

내가 잘못 될 수 있지만, 나는에 AlertDialog 당신이 정말이 경우에 사용할 것입니다 같아요. AlertDialogs에서 개발자 페이지를 읽는다면 실제로 작은 0, 1, 2 또는 3 버튼 경고 창에 사용되며 진정한 맞춤 인터페이스가 필요 없습니다. http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog

: 여기

http://www.helloandroid.com/tutorials/how-display-alertdialog-your-android-application

당신이하고 싶은 일을하려면 AlertDialogs에 대한 몇 가지 링크는 내가 하나가

링크 사용자 정의 대화 상자를 만들기에 Diaglog, 또는 PopupWindow를 사용할 생각입니다

맞춤형 팝업 창 만들기에 대한 링크 (이전에 사용 해왔음) : http://www.mobilemancer.com/2011/01/08/popup-window-in-android/

+0

실제로 두 번째 링크를 방문한 및 대화 상자를 사용하여 시작했습니다 .내 다른 프로젝트에서 EditText (이 LinearLayout에 의해 둘러싸여 않았습니다) 두 개의 단추 그리고 그 표시와 제대로 작동하는지 확인하십시오. 거기에 나와있는 거의 모든 예제를 수정할 수는 있습니다.하지만 그 일을하려고하는데, 왜 LinearLayout이 나타나지 않는지 모르겠습니다. 응답 해 주셔서 감사합니다. – Viking

+0

나는 정착해야했습니다. Link # 2.LinearLayout에서 "목록 추가하기"thingi가 여전히 나타나지 않아서 TextViews를 직접 추가했지만 여전히 textViews에서 ImageView를 추가하는 방법을 찾아야합니다 – Viking

관련 문제