AutoCompleteTextView implementation on the AlertDialog

后端 未结 2 1487
醉酒成梦
醉酒成梦 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<String> typeadapter = new ArrayAdapter<String>(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<String> modeladapter = new ArrayAdapter<String>(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

    <?xml version="1.0" encoding="utf-8"?>
    

    <TextView
        android:id="@+id/IDnumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/IDnumber" />
    
    <EditText
        android:id="@+id/IDeditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" 
        android:inputType="text">        
        <requestFocus />
    </EditText>
    
    <TextView
        android:id="@+id/SimCardNum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Sim_card_number" />
    
    <EditText
        android:id="@+id/SimCardEdit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="text"
         />
    
    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/description" />   
    
    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:ems="10"
        android:dropDownHeight="200dp"  
        android:text=""/>
    
    <TextView
        android:id="@+id/model"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Tracker_model"         
        />    
    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:ems="10"         
        android:dropDownHeight="100dp"  
        android:text=""/>
    
    <View
        android:layout_width="1dp"
        android:layout_height="50dp">
    </View>
    

    0 讨论(0)
  • 2021-01-27 00:35

    try to add in your autocompletetextview ( xml )

     <requestFocus />
    
    0 讨论(0)
提交回复
热议问题