2015-07-03 5 views
1

У меня есть ListView, который отображает только изображения. Я хочу функциональность, если я нажимаю на любое изображение в ListView, он должен открыть всплывающее меню, и всплывающее меню должно содержать 3-4 флажка с некоторыми именами, представляющими папки, которые пользователь хотел бы поместить в это изображение.Как создать всплывающее окно флажков при нажатии элемента в списке?

Я искал везде, но не мог найти таких учебных пособий. Как я должен это реализовать?

+0

вам нужно создать собственное диалоговое окно, а затем вы можете поместить список или gridview и отобразить на нем папку. – arjunkn

+0

@arjunkn Список/GridView не требуется. Android SDK обеспечивает простой способ. Проверьте мой ответ –

+0

хороший ответ @joaquin – arjunkn

ответ

2

попробовать что-то вроде этого:

ListView listview = (ListView) findViewById(R.id.list_item); 
final CharSequence[] items = {" Easy "," Medium "," Hard "," Very Hard "}; 
final ArrayList selectedItems=new ArrayList(); 
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(ActualActivity.this); 
    builder.setTitle("This is a title"); 

    builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
      //Here you add or remove the items from the list selectedItems. That list will be the result of the user selection. 
      if (isChecked) { 
       selectedItems.add(which); 
      } else if (selectedItems.contains(which)) { 
         selectedItems.remove(Integer.valueOf(which)); 
        } 
       } 
      }); 

    builder.setPositiveButton("Done", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 

      //Do something when the user closes the dialog by pressing the Done button 
     } 
    }); 

    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.dismiss(); 
      //Do something else if you want 
     } 
    }); 

     builder.create(); 
     builder.show(); 
    } 
}); 

на основе this answer!

+0

Пример, который вы предоставили, работает отлично. Благодарю. –

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