2016-09-13 15 views
0

У меня есть диалог, который работает нормально. Однако я хочу изменить размер текста и стиль диалога. Есть ли быстрый способ сделать это, не создавая настраиваемый диалог? Я попытался применить тему для этого, но он меняет только текст заголовка, но не отдельные элементы, где текст большой, а размер диалога слишком велик. Благодарю.Пользовательский макет Android Dialog для ArrayAdapter

AlertDialog.Builder builderSingle = new AlertDialog.Builder(getActivity()); 

    builderSingle.setTitle("Select Item"); 
    final ArrayAdapter<String> arrayAdapter = listAllItems(getActivity()); 

    builderSingle.setNegativeButton(
     "cancel", 
     new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.dismiss(); 
     } 
    }); 

    builderSingle.setAdapter(
     arrayAdapter, 
     new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       String strName = arrayAdapter.getItem(which); 
      } 
     }); 
    builderSingle.show(); 
+0

вы создаете 'Adapter', что означает, что вы можете указать, какой элемент макета вы хотите. –

+0

Как создать этот макет с простым текстом и указать его (и отдельную строку)? – Julia

+0

Создайте файл в 'res/layout /' - например, 'dialog_list_item.xml' - это просто« TextView », но вы хотите. Затем передайте 'R.layout.dialog_list_item' как второй аргумент в вызове конструктора' ArrayAdapter'. –

ответ

0

попробовать это один

Listview lst_state; 
TextView text_t ; 
LayoutInflater inflater = mactivity.getLayoutInflater(); 
    View alertLayout = inflater.inflate(R.layout.listview, null); 
    lst_state = (ListView) alertLayout.findViewById(R.id.listview_show_like_member_we); 
    text_t = (TextView) alertLayout.findViewById(R.id.text_title); 
    text_t.setText("State"); 
    lst_state.setAdapter(adapter_state); 
    final AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    alert.setView(alertLayout); 

    alert.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.dismiss(); 
     } 
    }); 
    final AlertDialog dialog = alert.create(); 
    lst_state.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      location_t_district.setText(arrayList_state.get(position).getStatename)); 
      dialog.dismiss(); 
     } 
    }); 
    dialog.show(); 

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

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