2013-04-13 24 views
0

在我的应用程序中,我想将联系人作为安全列表存储在android应用程序中。为了存储目的,我想从电话簿中获取联系人。我已经完成了获取联系号码,但我不能将它存储在应用程序中,以便whenevar应用程序关闭,然后提取数字被清除,列表将变为null请帮助.. !!!无法存储从电话簿android中获取的联系人它在应用程序关闭后被清除

public class SafeList extends ListActivity implements OnClickListener { 
String number; 
ArrayAdapter<String> adapter; 
LayoutInflater layoutInflater = null; 

List<String> safelist = new ArrayList<String>(); 
@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.safelist_layout); 
    Button addContact = (Button) findViewById(R.id.addContact); 
    addContact.setOnClickListener(this); 
    safelist = new ArrayList<String>(); 
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,safelist); 
    setListAdapter(adapter); 

} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    // BoD con't: CONTENT_TYPE instead of CONTENT_ITEM_TYPE 
    intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); 
    startActivityForResult(intent, 1); 
    // Intent intent = new Intent(Intent.ACTION_PICK, 
    // ContactsContract.Contacts.CONTENT_URI); 
    // startActivityForResult(intent, 1); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 

    if (data != null) { 
     Uri uri = data.getData(); 

     if (uri != null) { 
      Cursor c = null; 
      try { 
       c = getContentResolver() 
         .query(uri, 
           new String[] { 
             ContactsContract.CommonDataKinds.Phone.NUMBER, 
             ContactsContract.CommonDataKinds.Phone.TYPE }, 
           null, null, null); 

       if (c != null && c.moveToFirst()) { 
        number = c.getString(0); 
        int type = c.getInt(1); 
        safelist.add(number); 
        adapter.notifyDataSetChanged(); 
        showSelectedNumber(); 
       } 
      } finally { 
       if (c != null) { 
        c.close(); 
       } 
      } 
     } 
    } 
} 


public View getView(int paramInt, View paramView, ViewGroup paramViewGroup) 
{ 
    ViewHolder localViewHolder; 
    TextView number; 
    if (paramView == null) 
    { 
    paramView = SafeList.this.layoutInflater.inflate(R.layout.safelist_item, null); 
    localViewHolder = new SafeList.ViewHolder(); 
    localViewHolder.number = ((TextView)paramView.findViewById(R.id.textContactNumber)); 
    paramView.setTag(localViewHolder); 
    } 
    while (true) 
    { 


    localViewHolder = (SafeList.ViewHolder)paramView.getTag(); 
    return paramView; 
    } 


} 

static class ViewHolder {    
    public TextView number; 
    } 
private void showSelectedNumber() { 
    // TODO Auto-generated method stub 
    Toast.makeText(this, number, Toast.LENGTH_LONG).show(); 
} 

}

回答

1

,我会建议另一种方法是手动使用在文本字段中添加数字。

相关问题