输入框没有反应,只是记录了第一个。这是什么意思,意思list没有改变?

解决方案 »

  1.   

    你是第一个的list跟第二个的list没有关联起来吧
      

  2.   

    下面是关键地方的代码:mccs = convertCollectionToArray(mccsList);
    mncs = convertCollectionToArray(mncsList);
    mccPhraseAdatper = new ArrayAdapter<String>(
    this, // 定义匹配源的adapter
    android.R.layout.simple_dropdown_item_1line, mccArray);
    mcc.setAdapter(mccPhraseAdatper);
    mncPhraseAdatper = new ArrayAdapter<String>(
    this, // 定义匹配源的adapter
    android.R.layout.simple_dropdown_item_1line,
    mncs);
    mnc.setAdapter(mncPhraseAdatper);Button search = (Button) findViewById(R.id.button1);
    search.setOnClickListener(new OnClickListener() { @Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub
    String mncText = mnc.getText().toString().trim();
    String mccText = mcc.getText().toString().trim();
    manager.hideSoftInputFromWindow(getCurrentFocus()
    .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    getCurrentFocus().clearFocus();
    searchApnList(context, mncText, mccText);
    mSimpleAdapter.notifyDataSetChanged();
    if (searchListItem.size() == 0) {
    dialog("搜索APN信息为空, 请重新输入~~");
    } else {
    if (!mccText.equals("")) {
    if (!mccArray.contains(mccText)) {
    mccArray.add(mccText);
    SharedPreferences sp = getPreferences(0);
    String mcc = sp.getString("mcc", "460");
    String temp = mcc.concat(";"+mccText);
    // mccsList.add(mccText);
    // mccs = convertCollectionToArray(mccsList);
    Log.d(TAG, "save mcc  is :"+mccs[mccsList.size()-1]);
    mccPhraseAdatper.notifyDataSetChanged();
    editor.putString("mcc", temp);
    editor.commit();
    }
    }
    }
    }
    }
    });@Override
    protected void onResume() {
    super.onResume();
    SharedPreferences sp = getPreferences(0);
    if (null == sp) {
    return;
    }
    prepare(getResources(), sp, "mcc");
    mccPhraseAdatper.notifyDataSetChanged();
    Log.d(TAG, "mcc size is :"+mccsList.size());
    editor = sp.edit();
    } public void prepare(Resources resources, SharedPreferences sp,
    String type) {
    Set<String> temp = new HashSet<String>();
    ArrayList<String> mcc = new ArrayList<String>();
    String mccText = sp.getString("mcc", "460");
    String mccList[] = mccText.split(";");
    if(mccArray.size()!=0){
    mccArray.clear();
    }
    for(String mc : mccList){
    mccArray.add(mc);
    }
      

  3.   

    现在可以了,但是我发现输入的记录只有重新启动应用才会生效,已经notifyDataSetChanged了
      

  4.   

    你这是在onResume中执行的mccPhraseAdatper.notifyDataSetChanged();当然重启就生效了啊。
      

  5.   


      我在点击按钮搜索后也改变了数组的值,也notifyDataSetChanged了,可是没有生效
      

  6.   

    notifyDataSetChanged后你没更新edittext的操作啊
      

  7.   

    你好,我改变了List数据,notifyDataSetChanged后,适配器和autoCompleteTextView事先是绑定的,还需要调用什么接口更新?