AutoCompleteTextView implementation on the AlertDialog

后端 未结 2 1556
醉酒成梦
醉酒成梦 2021-01-27 00:10

I implemented AutoCompleteTextView in the OnClickListener method. But I don\'t see the drop down text once I click the AutoCompleteTextView and still keypad is appearing. What I

2条回答
  •  故里飘歌
    2021-01-27 00:28

    Now all work as I want to be. I have two EditText and two AutoCompleteTextView. I want to show Keyboard only for the EditText and but for AutoCompleteTextView Keyboard is hidden. Only show dropdown list. Now all work as I like to be. I share my work.

    final View addView = getLayoutInflater().inflate(R.layout.addnewtracker, null); 
    
            final TrackerInfo newInfo = new TrackerInfo();          
    
            String[] type = {"Vehicle", "Person", "Pet", "Others"}; 
            final AutoCompleteTextView actvtype1 = (AutoCompleteTextView) addView.findViewById(R.id.autoCompleteTextView1);     
            actvtype1.setInputType(InputType.TYPE_NULL);
            final ArrayAdapter typeadapter = new ArrayAdapter(mContext, android.R.layout.simple_list_item_multiple_choice,type);    
            actvtype1.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    actvtype1.showDropDown();
                    actvtype1.setAdapter(typeadapter);
                    actvtype1.setTextColor(Color.BLACK);
    
                }
            });
    
    
            String[] model = {"TS102", "TS103"};
            final AutoCompleteTextView actvtype2 = (AutoCompleteTextView) addView.findViewById(R.id.autoCompleteTextView2);
            actvtype2.setInputType(InputType.TYPE_NULL);
            final ArrayAdapter modeladapter = new ArrayAdapter(mContext, android.R.layout.simple_list_item_multiple_choice,model);
            actvtype2.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    actvtype2.showDropDown();
                    actvtype2.setAdapter(modeladapter);
                    actvtype2.setTextColor(Color.BLACK); 
    
                }
            });
    
    
            final AlertDialog.Builder alert = new AlertDialog.Builder(this).setTitle("New Tracker").setView(addView);
    
            alert.setPositiveButton("ADD", new DialogInterface.OnClickListener() 
            {
    
    
                @SuppressLint("SimpleDateFormat")
                public void onClick(DialogInterface dialog, int whichButton) 
                {                   
                    TextView temp;
                    temp = (TextView)addView.findViewById(R.id.IDeditText);
                    newInfo.setIdnumber(temp.getText().toString());                                 
                    newInfo.setDescription(actvtype1.getText().toString());                 
                    temp = (TextView)addView.findViewById(R.id.SimCardEdit);
                    newInfo.setSimcardnumber(temp.getText().toString());                    
                    newInfo.setModel(actvtype2.getText().toString());   
                    if(!(actvtype2.getText().toString().equals("TS102")||actvtype2.getText().toString().equals("TS103")))
                    {
                         Toast.makeText(getBaseContext(), "Model type doesn't match",
                                    Toast.LENGTH_SHORT).show();
                         return;
                    }
                    simnumber = temp.getText().toString();
                    if(!simnumber.matches("[+0-9]+")){
    
                        return;
                    }
                    SimpleDateFormat df = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
                    Date today = Calendar.getInstance().getTime(); 
                    String reportDate = df.format(today);
                    newInfo.setTime(reportDate);
                    newInfo.setActivationStatus();
                    if(!newInfo.getIdnumber().equals("") && !newInfo.getModel().equals("") 
                            && !newInfo.getDescription().equals("") && !newInfo.getSimcardnumber().equals(""))
                    {
                          addNewTracker(newInfo);
                    }
    
                }
            }).setNegativeButton("Cancel", null).show();
    

    xml is

    
    

    
    
            
        
    
    
    
    
    
    
       
    
    
    
        
    
    
    
    
    

提交回复
热议问题