1

OnClickListener メソッドに AutoCompleteTextView を実装しました。しかし、AutoCompleteTextView をクリックするとドロップダウン テキストが表示されず、それでもキーパッドが表示されます。私がしたいのは、ドロップダウンテキストが表示され、キーパッドが見えないようにすることです。何が間違っている可能性がありますか?私のソースコードは

public void runNextTask(){
        final View addView = getLayoutInflater().inflate(R.layout.addnewtracker, null);                     
        final TrackerInfo newInfo = new TrackerInfo();


        //autocompletetextview 1
        final String[] type = {"Vehicle", "Person", "Pet", "Others"};   
        final AutoCompleteTextView actvtype1 = (AutoCompleteTextView) addView.findViewById(R.id.autoCompleteTextView1);
        actvtype1.setOnItemClickListener(new OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                in.hideSoftInputFromWindow(arg1.getWindowToken(), 0);
                ArrayAdapter<String> typeadapter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,type);
                actvtype1.setThreshold(1);
                actvtype1.setAdapter(typeadapter);
                actvtype1.setTextColor(Color.BLACK);
            }

        });


        //autocompletetextview 2
        final String[] model = {"TS102", "TS103"};
        final AutoCompleteTextView actvtype2 = (AutoCompleteTextView) addView.findViewById(R.id.autoCompleteTextView2);
        actvtype2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                InputMethodManager imm = (InputMethodManager)getSystemService(Service.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(actvtype2.getWindowToken(), 0);
                ArrayAdapter<String> modeladapter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,model);
                actvtype2.setThreshold(1);
                actvtype2.setAdapter(modeladapter);
                actvtype2.setTextColor(Color.BLACK);
            }
        });



        new AlertDialog.Builder(this).setTitle("New Tracker").setView(addView)
        .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());

                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は次のとおりです

<?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: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:text=""
 />

4

2 に答える 2

0

autocompletetextview ( xml ) に追加してみてください

 <requestFocus />
于 2013-11-05T15:49:28.923 に答える