当前位置: 首页 > 知识库问答 >
问题:

如何使用AlertDialog从旋转器中删除项目

冀弘厚
2023-03-14
public class SpinnerActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_spinner);

    final Spinner spinner = (Spinner) findViewById(R.id.spinner);
    final Context context = getApplicationContext();

    // Create an ArrayAdapter using the string array and a default spinner layout
    final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.planets_array, android.R.layout.simple_spinner_item);

    // Specify the layout to use when the list of choices appears
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // Apply the adapter to the spinner
    spinner.setAdapter(adapter);

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        int selectionCurrent = spinner.getSelectedItemPosition();
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            if (selectionCurrent != position) {
                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);

                // set title
                alertDialogBuilder.setTitle(R.string.dialogtitle);

                //set dialog message
                alertDialogBuilder.setMessage(R.string.dialogtext).setCancelable(false)
                        .setPositiveButton(R.string.si,new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,int id) {
                                // if this button is clicked,
                                Toast.makeText(context, "Eliminar", Toast.LENGTH_SHORT).show();
                            }
                        }) .setNegativeButton(R.string.no
                        , new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // if this button is clicked, do nothing
                        dialog.cancel();
                    }
                });
                alertDialogBuilder.setView(spinner);
                AlertDialog alertDialog = alertDialogBuilder.create();
                // show it
                alertDialog.show();
            }
            selectionCurrent = position;
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

}

共有1个答案

蔺沛
2023-03-14

首先创建一个变量来膨胀ArrayAdapter:

String[] mTestArray;

从参考资料中获取数据:

mTestArray = getResources().getStringArray(R.array.planets_array);  

使用以下数组膨胀ArrayAdapter:

final ArrayList<String> list =new ArrayList<String>(Arrays.asList(mTestArray));  
    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, list);
final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        mTestArray , android.R.layout.simple_spinner_item);

        String item = list.get(position);


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    if (selectionCurrent != position) {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);

        // set title
        alertDialogBuilder.setTitle(R.string.dialogtitle);

        //set dialog message
        alertDialogBuilder.setMessage(R.string.dialogtext).setCancelable(false)
                .setPositiveButton(R.string.si,new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,int id) {
                        list.remove(position);
                        adapter.notifyDataSetChanged();
                        // if this button is clicked,
                        Toast.makeText(context, "Eliminar", Toast.LENGTH_SHORT).show();
                    }
                }) .setNegativeButton(R.string.no
                , new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                // if this button is clicked, do nothing
                dialog.cancel();
            }
        });
        alertDialogBuilder.setView(spinner);
        AlertDialog alertDialog = alertDialogBuilder.create();
        // show it
        alertDialog.show();
    }
    selectionCurrent = position;
}           
 类似资料:
  • 我有旋转器。我用数据库表中的数据(一列)填充了它。现在,当用户从Spinner中选择一个项目时。我想在数据库中的一个函数,它返回所选项目的相应主键。在我的主活动中,主键应该存储在变量中。我怎么能这么做。 这是我在main Activity中的代码: 这是我在数据库中的函数:

  • 从项目中去除可可的正确方法是什么?我要把整块可可皮去掉。由于我的客户施加的一些限制,我不能使用它。我只需要一个xcodeproj而不是一个XCWorkspace。

  • 我创建了一个包含5个项目的,还创建了5个按钮。我想做的是将一个按钮关联到旋转器中的一个项目。所以当我点击一个按钮时,一个相应的项目就会被选中。例如: 我的旋转器里有5个项目:

  • 问题内容: 我有创建元素的代码。我需要单击一次删除一个元素。对于每个元素,我都有。我了解我需要一些功能来通过删除项目。如何使用此功能删除ReactJS中的元素?我的代码: 问题答案: 您正在父级组件中管理数据并在子级组件中呈现UI,因此要从子级组件中删除项目,您需要将一个函数与数据一起传递,从子级中调用该函数并在父级组件内部传递列表项的任何唯一标识符使用该唯一标识符删除项目。 步骤1: 将父组件的

  • 我使用firebase数据库和recycler视图。我使用push()向firebase添加了一个项目列表;命令使用push()时,firebase为每个添加的项目创建唯一的id。 现在,我想删除项目点击删除按钮,但当我尝试删除价值();函数到我的数据库参考,它删除所有存储库,而不仅仅是项目。 这就是我现在所拥有的: 从Firebase读取数据的片段 我的onClick按钮 适配器包com。享受应

  • 我是编程和Android的新手,有一个问题,所以我必须使用MVVM、LiveData、RecyclerView和Fragments构建一个Android应用程序(购买汽车的应用程序)。我可以创建一个汽车实例,然后在RecyclerView中查看,但是当我想删除它时,我会收到以下错误: Logcat: 我希望有人能帮助我。非常感谢! 道 数据库 存储库 回收器适配器 视图模型