Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在弹出窗口中显示列表视图-Android_Android_Listview_Popupwindow - Fatal编程技术网

在弹出窗口中显示列表视图-Android

在弹出窗口中显示列表视图-Android,android,listview,popupwindow,Android,Listview,Popupwindow,我正在用Android做一个项目,我遇到了一个问题。 我有一个活动,其中包括三个按钮,编辑文本和列表视图 我想更改该实现,并且仅当用户按下全选按钮时,才在新的弹出窗口上显示列表视图。 我已经添加了我的代码,谢谢 public class Notepadv1 extends ListActivity implements OnClickListener { private WordsDbAdapter mDbHelper; private Button selectAllBut

我正在用Android做一个项目,我遇到了一个问题。 我有一个活动,其中包括三个按钮,编辑文本和列表视图

我想更改该实现,并且仅当用户按下全选按钮时,才在新的弹出窗口上显示列表视图。 我已经添加了我的代码,谢谢

public class Notepadv1 extends ListActivity implements OnClickListener {

    private WordsDbAdapter mDbHelper;
    private Button selectAllButton;
        private PopupWindow mPopup;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        selectAllButton = (Button)findViewById(R.id.selectAll);
        selectAllButton.setOnClickListener(this);

        mDbHelper = new WordsDbAdapter(this);
        mDbHelper.open();
        fillData();
    }

    public void onClick(View v) {
        switch(v.getId()){
            case(R.id.selectAll):
                selectAll();
                break;
        }
    }

    private void selectAll(){
    }

    private void fillData() {

        Cursor c = mDbHelper.fetchAllNotes();
        startManagingCursor(c);

        String[] from = new String[] { WordsDbAdapter.KEY_WORD };
        int[] to = new int[] { R.id.text1 };


        SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.words_row, c, from, to);
        setListAdapter(notes);
    }

}
是的,你能做到

第一路: 在AndroidManifest.xml文件中将活动定义为具有以下属性的对话框:

<activity android:theme="@android:style/Theme.Dialog" />
例如:

编辑:链接已修复


.

显示一个带有列表的简单警报对话框:

final CharSequence[] items = {"Red", "Green", "Blue"};

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

builder.setTitle("Pick a color");
builder.setItems(items, new DialogInterface.OnClickListener() {

   public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
   }

});

AlertDialog alert = builder.create();

alert.show();

如果使用自定义阵列适配器,请使用:


谢谢你的回答。另一个问题,我是否需要将其分为两个活动,一个用于按钮、编辑文本等,另一个用于对话框?是的,如果要将活动作为对话框进行,则可以定义两个单独的活动,如果您只想使用上面提到的第二种方式,则不需要另一个活动。@OfirAN check example链接如上所述。它可以工作,但也会显示一些空间,如标题栏。那么如何删除此空间
final CharSequence[] items = {"Red", "Green", "Blue"};

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

builder.setTitle("Pick a color");
builder.setItems(items, new DialogInterface.OnClickListener() {

   public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
   }

});

AlertDialog alert = builder.create();

alert.show();
AlertDialog.Builder builder = new Builder(this)
    .setTitle("Dialog Title")
    .setAdapter(new CustomAdapter(context, items, ...), (dialog, itemPosition) -> {
      // Handle item click
    });
builder.show();