繁体   English   中英

android.content.res.resources notfoundexception $ android.content.res.resources notfoundexception $字符串资源ID#0x1

[英]android.content.res.resources notfoundexception $android.content.res.resources notfoundexception $ string resource id #0x1

荫选择使用CustomMultiAutoCompleteTextView wtih参考多个联系人this在代码中选择多个联系人,但我想显示什么是烤面包的消息被选中的号码。 当点击那个按钮时,我修改了main.xml中的代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <com.krishna.widget.CustomMultiAutoCompleteTextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText" 
        android:textColor="@android:color/black"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:text="Button" />

</LinearLayout>

我在CustomMultiAutoCompleteTextView.java添加了此字段

public HashMap<String, String> con=new HashMap<String, String>();

用于在此Hashmap保存联系电话

我修改了

CustomMultiAutoCompleteTextView.java


public void init(Context context){


....

this.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

...
con.put(contact.num.toString(), contact.contactName.toString());
}
});

    }
and i modified 
MainActivity.java

像这样

public class MainActivity extends Activity implements OnClickListener{
    Button b1;
    private CustomMultiAutoCompleteTextView phoneNum;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        phoneNum = (CustomMultiAutoCompleteTextView)
                findViewById(R.id.editText);
        ContactPickerAdapter contactPickerAdapter = new ContactPickerAdapter(this,
                android.R.layout.simple_list_item_1, SmsUtil.getContacts(
                    this, false));
        phoneNum.setAdapter(contactPickerAdapter);
        b1=(Button)findViewById(R.id.button1);
        b1.setOnClickListener((OnClickListener) this);
        //phoneNum.addTextChangedListener((TextWatcher));
        }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        CustomMultiAutoCompleteTextView phoneNum=(CustomMultiAutoCompleteTextView)findViewById(R.id.editText);
        HashMap<String, String> map=(HashMap<String, String>)phoneNum.con;

        try{



            Toast.makeText(this, map.size(), Toast.LENGTH_LONG).show();
        }catch(Exception e)
        {
            Log.e("eee",e.toString());
        }

    }




    }

现在执行命令,我选择了一个联系人,如果我按下按钮后我unable to get map size() ,则我正在获取android.content.res.resources$notfoundexception string resource id #0x1我可以知道为什么会出现此错误。 如何在主要活动中获取选定的联系信息任何机构都可以帮助我解决此问题

更改此:

Toast.makeText(this, map.size(), Toast.LENGTH_LONG).show();

对此:

Toast.makeText(this, String.valueOf(map.size()), Toast.LENGTH_LONG).show();

Toast.makeText有2个版本。 在一个参数中,第二个参数是一个String,在另一个参数中,它是一个int资源ID。

您正在传递给它一个int map.size() ,它认为这是一个资源ID,无法找到。 因此,您正在获取android.content.res.resources.notfoundexception

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM