2012-05-18 3 views
3

AlertDialog의 서브 클래스가 있으며 범위 내에있는 모든 사용 가능한 Wi-Fi 네트워크의 목록을 표시해야합니다.AlertDialog.Builder를 사용하지 않고 ListView를 사용하여 AlertDialog를 만드는 방법은 무엇입니까?

대화 상자 자체가 Wifi 스캔을 시작하고 결과를 수신 할 책임이 있습니다.

AlertDialog.Builder을 사용하여 ListView 항목을 설정할 수 없습니다. 대화 상자를 만들면서 아직 가지고 있지 않으며 프레젠테이션 중에 변경 될 수 있습니다.

없이 AlertDialog에 대한 기본 제공 지원을 사용하여 단일 선택 목록을 제공하려면 어떻게해야합니까?

내 ListView를 만들고 대화 상자의 콘텐츠보기로 설정하려면 어떻게해야합니까?

답변

4

코드 아래 참조 :

public void show_alert() { 
    // TODO Auto-generated method stub 

    final Dialog dia = new Dialog(this); 
    dia.setContentView(R.layout.alert); 
    dia.setTitle("Select File to import"); 
    dia.setCancelable(true); 

    list_alert = (ListView) dia.findViewById(R.id.alert_list); 
    list_alert.setAdapter(new ArrayAdapter<String>(getApplicationContext(), 
      android.R.layout.simple_list_item_1, 
      main_genral_class.file_list)); 
    list_alert.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> arg0, View arg1, int pos, 
       long arg3) { 
      String fname = main_genral_class.file_list.get(pos); 
      dia.dismiss(); 

     } 
    }); 
    dia.show(); 
} 

레이아웃 파일 이름 alert.xml

<?xml version="1.0" encoding="UTF-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linearLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ListView 
     android:id="@+id/alert_list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 
    </ListView> 

</LinearLayout> 
+0

이 답변에 감사드립니다 걸릴 수 있습니다! 작동하지만 더 이상 대화처럼 보이지 않습니다 ... 목록이 전체 화면을 채우고 제목이 없습니다 ... 어떤 아이디어입니까? –

0

하나 대화

final Dialog _dialog1 = new Dialog(this); 
    _dialog1.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    _dialog1.setContentView(R.layout.your_own_listView); 

in setContentView() u can put ur own listView 
관련 문제