2017-01-29 4 views
0

У меня есть следующий код, чтобы иметь список контактов появляются на моем экране:У меня есть список контактов, которые появляются в моем приложении для Android. Как возможно, что при нажатии на имя оно сохраняет число в строку?

public class MainActivity extends ListActivity { 


    @Override 
    public int getSelectedItemPosition() { 
     return super.getSelectedItemPosition(); 
    } 

    @Override 
    public long getSelectedItemId() { 
     return super.getSelectedItemId(); 
    } 

    ListView lv; 
    Cursor cursor1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     cursor1 = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null , null , null , null); 
     startManagingCursor(cursor1); 

     String[] from = {ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone._ID}; 
     int[] to = {android.R.id.text1, android.R.id.text2}; 

     SimpleCursorAdapter listadapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor1, from, to); 
     setListAdapter(listadapter); 

     lv = getListView(); 
     lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
} 

Я хотел бы, чтобы позволить пользователю, что он может сохранить номер в строку с щелкнув по имени. Как мне начать?

ответ

0

Вы могли бы реализовать setOnItemClickListener на вашем ListView затем с помощью курсора и метод moveToPosition прохождения позиции parametar получить позицию затем снова с помощью курсора получить номер от имени что-то вроде этого:

lv.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id){ cursor1.moveToPosition(position); Toast.makeText(getApplicationContext(), cursor1.getString(cursor1.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)), Toast.LENGTH_SHORT).show(); } });

Примечание Я не тестировал код, поэтому не знаю, прав.

+0

работает как шарм :) спасибо @Yupi –