相关疑难解决方法(0)

TextWatcher的onTextChanged,beforeTextChanged和afterTextChanged之间的差异

在我的Android项目中,我不得不将TextChangedListener(TextWatcher)添加到编辑文本视图中.它有三个部分.

  • onTextChanged()
  • beforeTextChanged()
  • afterTextChanged()

这三者的不同之处是什么?我不得不在关键的lisner上实现一个表的搜索,对于我的情况,这三个看起来都是一样的.他们也运作相同.当我输入产品名称的一部分时,表格会重新绘制,只包含那些包含输入文本的产品.但是我使用了这个afterTextChanged()部分.我的代码是

EditProduct.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            // TODO Auto-generated method stub

            // System.out.println("onTextChanged"+s);
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub
            // System.out.println("beforeTextChanged"+s);
        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
            // System.out.println("afterTextChanged"+s);

            String new_prx = s.toString();

            System.out.println(s);
            mini_productList = new ArrayList<Product>();

            // mini_productList
            int count = 0; …
Run Code Online (Sandbox Code Playgroud)

android textwatcher android-textwatcher

35
推荐指数
3
解决办法
3万
查看次数

如何在EditText中了解按键

我需要在软键盘或硬键盘上检测每个按键EditText.我只需要在按下时一次发送一个字符,不需要最终的文本字符串.

我曾尝试使用EditTextwith onKeyPress,但我遇到了问题,没有用软键盘按键,TextWatcher这不是一个好选择,因为我需要每次按键.是否有任何解决方案可以知道所有按键(包括后退,移位,输入......)?

android android-edittext

30
推荐指数
2
解决办法
4万
查看次数

如何将EditText长度限制为7个整数和2个小数位?

我有一个EditText盒子,必须允许用户输入最多7个数字和两个小数位.输入七位数后,不应再允许添加一位数,但我可能允许最多2位小数.我使用十进制过滤器2位小数,这个代码用XML

android:maxLength="7"    
android:imeOptions="actionDone"                  
android:inputType="numberDecimal"
Run Code Online (Sandbox Code Playgroud)

EditText允许enter8位数.怎么解决这个问题?

android android-layout android-edittext

15
推荐指数
4
解决办法
3万
查看次数

Android:当用户暂停输入时,如何向Google API发送请求?

我正在使用这个应用程序,用户可以在autoCompleteTextView中输入一个位置,它会根据此处描述的Google Places Api建议位置.

但是,如果用户在一段时间内停止输入,我想通过仅发送请求来限制应用程序发送的请求数量.有谁知道如何做到这一点?

android autocomplete

10
推荐指数
2
解决办法
2335
查看次数

如何在Android中的编辑文本中限制数字中的文本数量为0-59?

我有一个Edit Text数字只能介于两者之间0-59,没有其他数字会输入Edit Text,我试过text-watcher但没有成功.任何的想法?

12-26 14:59:39.715: E/AndroidRuntime(19494): FATAL EXCEPTION: main
12-26 14:59:39.715: E/AndroidRuntime(19494): java.lang.StackOverflowError
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.ViewGroup.findViewTraversal(ViewGroup.java:2765)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.View.findViewById(View.java:10442)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.ViewGroup.findViewTraversal(ViewGroup.java:2765)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.View.findViewById(View.java:10442)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.ViewGroup.findViewTraversal(ViewGroup.java:2765)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.View.findViewById(View.java:10442)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.ViewGroup.findViewTraversal(ViewGroup.java:2765)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.View.findViewById(View.java:10442)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.ViewGroup.findViewTraversal(ViewGroup.java:2765)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.View.findViewById(View.java:10442)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at android.view.ViewGroup.findViewTraversal(ViewGroup.java:2765)
12-26 14:59:39.715: E/AndroidRuntime(19494):    at …
Run Code Online (Sandbox Code Playgroud)

android textwatcher android-edittext

7
推荐指数
2
解决办法
2万
查看次数

如何在android中自动格式化输入编辑文本的电话号码

在我的应用程序中我输入对话框中的电话号码,在编辑文本中输入手机号码自动添加到" - "示例:999-999-9999这个电话号码格式

  final EditText text= (EditText)myDialog.findViewById(com.fitzgeraldsoftware.mobitrack.presentationlayer.R.id.Tv2);
     text.addTextChangedListener(new TextWatcher() {

         public void onTextChanged(CharSequence s, int start, int before, int count) {

             boolean flag = true;
             String eachBlock[] = text.getText().toString().split("-");
            // Log.v("11111111111111111111","aa"+flag);
             for (int i = 0; i < eachBlock.length; i++) 
             {
                 Log.v("11111111111111111111","aa"+i);
                 if (eachBlock[i].length() > 3)
                 {
                    // Log.v("11111111111111111111","cc"+flag);
                     flag = false;
                 }
             }
             if (flag) {
            //   Log.v("11111111111111111111","dd"+flag);
                 text.setOnKeyListener(new OnKeyListener() {

                     public boolean onKey(View v, int keyCode, KeyEvent event) {

                         if (keyCode == KeyEvent.KEYCODE_DEL)
                            // Log.v("11111111111111111111","ee"+keyDel);
                             keyDel = 1; …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
1
解决办法
3786
查看次数

我如何使用编辑文本在自定义列表适配器中实现搜索功能

这是我的自定义列表适配器,如何使用编辑文本在自定义列表适配器中实现搜索功能。我尝试了很多方法来实现搜索功能

     public class ListAdapter extends BaseAdapter  {

   public ArrayList<Users> listDataContainers = new ArrayList<>();

        ListAdapter(ArrayList<Users> listDataContainers) {
            this.listDataContainers = listDataContainers;
        }

        @Override
        public int getCount() {

            return listDataContainers.size();
        }

        @Override
        public User getItem(int arg0) {

            return listDataContainers.get(arg0);
        }

        @Override
        public long getItemId(int arg0) {

            return arg0;
        }

        @Override
        public View getView(int pos, View arg1, ViewGroup arg2) {

            if (arg1 == null) {
                LayoutInflater inflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                arg1 = inflater.inflate(R.layout.listitem_layout, arg2, false);
            }
            TextView pa_name = (TextView) arg1.findViewById(R.id.textName);
            TextView pa_date = …
Run Code Online (Sandbox Code Playgroud)

android

1
推荐指数
1
解决办法
1669
查看次数

如何在android中使用TextWatcher?

我有一个自定义ListView,其中包含一个TextView(Of数字)和一个EditText.在标题之外我有一个TextView.

我的任务是,当我要在任何editText中输入任何数字然后在标题 textView上它应该显示editText乘法值*textView的ListView的值.

然后,如果我在任何其他editText中输入任何其他数字,那么计算将与前一个相同,比如说editText的乘法值*textView ListView的行值+ editText的乘法值*textView ListView行的值并显示这个标题textView上的新值.如果更改任何editText的值,那么旧位置的先前值应该在相应位置的新值上更新. 我知道所有这些工作将在textwatcher中发生,但不知道如何?你能帮助我吗???

android

0
推荐指数
1
解决办法
2390
查看次数