Android 在Fragment中的TextView长按弹出对话框(长按监听事件)

第一步,获取操作句柄

textview控件名称叫showhistory.

设置它可以滚动。

//获得操作句柄
outputdata=(TextView)getActivity().findViewById(R.id.showhistory);
outputdata.setMovementMethod(ScrollingMovementMethod.getInstance());

第二步,添加长按监听事件

//长按事件响应
outputdata.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
       //在此写响应事件
        return false;
    }
});

第三步,添加弹出对话框

//长按事件响应
outputdata.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {

        //定义AlertDialog.Builder对象,当长按列表项的时候弹出确认删除对话框
        AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
        builder.setMessage("确定删除?");
        builder.setTitle("提示");

        //添加AlertDialog.Builder对象的setPositiveButton()方法
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                File Folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "data");
                if (!Folder.exists())
                {
                    System.out.println(Folder.getPath());
                }else {
                    String sdCardDir = Environment.getExternalStorageDirectory().getAbsolutePath();
                    String historyFile=sdCardDir+"/data/history.txt";
                    File saveFile = new File(sdCardDir+"/data/", "history.txt");

                    saveFile.delete();
                    outputdata.setText("");
                }
                Toast.makeText(getActivity(), "删除列表项", Toast.LENGTH_SHORT).show();
            }
        });

        builder.setCancelable(true);   //设置按钮是否可以按返回键取消,false则不可以取消
        AlertDialog dialog = builder.create();  //创建对话框
        dialog.setCanceledOnTouchOutside(true);      //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
        dialog.show();
        return false;
    }
});

完整代码如下:

//获得操作句柄
outputdata=(TextView)getActivity().findViewById(R.id.showhistory);
outputdata.setMovementMethod(ScrollingMovementMethod.getInstance());

//长按事件响应
outputdata.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {

        //定义AlertDialog.Builder对象,当长按列表项的时候弹出确认删除对话框
        AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
        builder.setMessage("确定删除?");
        builder.setTitle("提示");

        //添加AlertDialog.Builder对象的setPositiveButton()方法
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                File Folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "data");
                if (!Folder.exists())
                {
                    System.out.println(Folder.getPath());
//                            DocumentsUtils.mkdirs(getContext(),Folder);
//                Folder.mkdir();//创建文件夹
                }else {
                    String sdCardDir = Environment.getExternalStorageDirectory().getAbsolutePath();
                    String historyFile=sdCardDir+"/data/history.txt";
                    File saveFile = new File(sdCardDir+"/data/", "history.txt");

                    saveFile.delete();
                    outputdata.setText("");
                }
                Toast.makeText(getActivity(), "删除列表项", Toast.LENGTH_SHORT).show();
            }
        });

        builder.setCancelable(true);   //设置按钮是否可以按返回键取消,false则不可以取消
        AlertDialog dialog = builder.create();  //创建对话框
        dialog.setCanceledOnTouchOutside(true);      //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
        dialog.show();
        return false;
    }
});

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kissgoodbye2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值