Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题

Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题,第1张

概述1、原来是将EditView放到了popupwindow,发现EditView原有的复制、粘贴全选、选择功能失效了,所以便用DialogFragment代替了popupWindow

1、原来是将EditVIEw放到了popupwindow,发现EditVIEw原有的复制、粘贴、全选、选择功能失效了,所以便用DialogFragment代替了popupWindow

直接上代码

①、先看布局文件

<?xml version="." enCoding="utf-"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:gravity="bottom"androID:orIEntation="vertical"><linearLayoutandroID:ID="@+ID/ll_background_dialog"androID:layout_wIDth="match_parent"androID:layout_height="dp"androID:layout_weight=""androID:background="#"androID:Alpha="."androID:orIEntation="horizontal"></linearLayout><ScrollVIEwandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:background="@androID:color/white"><linearLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:background="#ffcdcdcd"androID:orIEntation="vertical"><relativeLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"><ImageVIEwandroID:ID="@+ID/iv_quxiao_popup"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:padding="dp"androID:src="@drawable/popup_comment_no" /><TextVIEwandroID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_centerInParent="true"androID:text="发言"androID:textcolor="#"androID:textSize="sp" /><ImageVIEwandroID:ID="@+ID/iv_write_popup"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_alignParentEnd="true"androID:layout_alignParentRight="true"androID:padding="dp"androID:src="@drawable/popup_commnet_ok" /></relativeLayout><EditTextandroID:ID="@+ID/et_comment_popup"androID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout_margin="dp"androID:background="#ffffff"androID:gravity="top"androID:hint="在这里留言"androID:minlines="" /><relativeLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout_marginBottom="dp"androID:layout_marginleft="dp"androID:layout_marginRight="dp"><TextVIEwandroID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_alignParentRight="true"androID:text="文明上网"androID:textSize="sp" /></relativeLayout></linearLayout></ScrollVIEw></linearLayout> 

②、看自定义diaglogFragment的代码

import androID.annotation.Suppresslint;import androID.content.Context;import androID.graphics.color;import androID.graphics.drawable.colorDrawable;import androID.os.Bundle;import androID.app.Fragment;import androID.support.v.app.DialogFragment;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.vIEw.WindowManager;import androID.vIEw.inputmethod.inputMethodManager;import androID.Widget.EditText;import androID.Widget.ImageVIEw;import androID.Widget.linearLayout;import androID.Widget.Toast;import com.androID.volley.AuthFailureError;import com.androID.volley.Request;import com.androID.volley.Response;import com.androID.volley.VolleyError;import com.androID.volley.toolBox.StringRequest;import org.Json.JsONException;import org.Json.JsONObject;import java.util.HashMap;import java.util.Map;import newairtek.com.app.AppApplication;import newairtek.com.sdnewsandroID.R;import newairtek.com.url.SdNewsUrl;/*** A simple {@link Fragment} subclass.*/@Suppresslint("ValIDFragment")public class CustomDialogFragment extends DialogFragment {private ImageVIEw iv_quxiao_popup;//取消按钮private ImageVIEw iv_write_popup; //确认按钮private EditText et_comment_popup;//评论内容private linearLayout ll_background_dialog;//容器private boolean isCommenting = false;private String uID;private String ID;private String cID;public CustomDialogFragment(String uID,String ID,String cID) {this.uID = uID;this.ID = ID;this.cID = cID;}@OverrIDepublic voID onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//这句代码的意思是让dialogFragmentd出时沾满全屏setStyle(DialogFragment.STYLE_norMAL,androID.R.style.theme_Holo_light_DialogWhenLarge_NoActionbar);}@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater,VIEwGroup container,Bundle savedInstanceState) {VIEw vIEw = inflater.inflate(R.layout.popup_write_comment,null);//让DialogFragment的背景为透明getDialog().getwindow().setBackgroundDrawable(new colorDrawable(color.transparent));initVIEw(vIEw);initEvent();return vIEw;}//初始化vIEwprivate voID initVIEw(VIEw vIEw) {iv_quxiao_popup = (ImageVIEw) vIEw.findVIEwByID(R.ID.iv_quxiao_popup);iv_write_popup = (ImageVIEw) vIEw.findVIEwByID(R.ID.iv_write_popup);et_comment_popup = (EditText) vIEw.findVIEwByID(R.ID.et_comment_popup);ll_background_dialog = (linearLayout) vIEw.findVIEwByID(R.ID.ll_background_dialog);}private voID initEvent(){//取消iv_quxiao_popup.setonClickListener(new VIEw.OnClickListener() {@OverrIDepublic voID onClick(VIEw vIEw) {dismiss();}});//确认发送iv_write_popup.setonClickListener(new VIEw.OnClickListener() {@OverrIDepublic voID onClick(VIEw vIEw) {if (et_comment_popup.getText().toString().length() > ) {if (!isCommenting) {isCommenting = true;} else {Toast.makeText(getActivity(),"正在评论,请勿重复 *** 作",Toast.LENGTH_LONG).show();}} else {Toast.makeText(getActivity(),"内容不能为空",Toast.LENGTH_SHORT).show();}}});ll_background_dialog.setonClickListener(new VIEw.OnClickListener() {@OverrIDepublic voID onClick(VIEw vIEw) {dismiss();}});}}

3、如何使用

FragmentManager manager = getSupportFragmentManager();//区分是v的Fragment还是app包里面的CustomDialogFragment dialogFragment = new CustomDialogFragment(uID,ID,cID);dialogFragment.show(manager,"custom"); 

效果图

总结

以上是内存溢出为你收集整理的Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题全部内容,希望文章能够帮你解决Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1149335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存