import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;public class ShowPeopleList extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Cursor c=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
startManagingCursor(c);
ListAdapter adapter=new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice,
c, new String[]{ContactsContract.Contacts.DISPLAY_NAME,ContactsContract.Contacts.HAS_PHONE_NUMBER},
new int[]{android.R.id.text1,android.R.id.text2});
setListAdapter(adapter);
final ListView listView = getListView(); listView.setItemsCanFocus(false);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0)
{
event.startTracking();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode,KeyEvent event)
{
if(keyCode==KeyEvent.KEYCODE_BACK && event.isTracking()&&!event.isCanceled())
{
Intent intent=new Intent();
intent.setClass(ShowPeopleList.this, SMSManager.class);
Bundle b=new Bundle();
b.putString("txt", "a");
intent.putExtras(b);
setResult(RESULT_OK, intent);
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
}
小弟写了一段显示所有联系人的代码,但是不知道如何在onKeyUp事件中获取ListView中选中的联系人的信息,请高手帮帮忙
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;public class ShowPeopleList extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Cursor c=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
startManagingCursor(c);
ListAdapter adapter=new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice,
c, new String[]{ContactsContract.Contacts.DISPLAY_NAME,ContactsContract.Contacts.HAS_PHONE_NUMBER},
new int[]{android.R.id.text1,android.R.id.text2});
setListAdapter(adapter);
final ListView listView = getListView(); listView.setItemsCanFocus(false);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0)
{
event.startTracking();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode,KeyEvent event)
{
if(keyCode==KeyEvent.KEYCODE_BACK && event.isTracking()&&!event.isCanceled())
{
Intent intent=new Intent();
intent.setClass(ShowPeopleList.this, SMSManager.class);
Bundle b=new Bundle();
b.putString("txt", "a");
intent.putExtras(b);
setResult(RESULT_OK, intent);
finish();
return true;
}
return super.onKeyUp(keyCode, event);
}
}
小弟写了一段显示所有联系人的代码,但是不知道如何在onKeyUp事件中获取ListView中选中的联系人的信息,请高手帮帮忙
解决方案 »
- 请问一下android socket用TCP方式,client端如何监听服务器发送来的数据?
- 关于ant打包的android项目引用android第三方工程的问题
- 新手问题,感谢大侠解惑!
- 用pull解释xml
- android怎么更改开机画面
- 【求助】求好心大牛帮我看下安卓编程中运行报错 java.lang.NullPointerException
- Eclipse导入项目出现问题
- PtrFrameLayout 嵌套横向滑动RecyclerView,横向滑动冲突问题
- Android epub文件解析
- Android如何用代码实现app双开功能
- 请问:android上可以做到同时播放一个无声的视频和一个音频吗
- 手机访问wap网页
int position, long id) {
//view对象 就是你所选的那一栏,下面获取里面的子控件。当然个人还是自己写XML定义一个//ListView,便于处理.
view.findViewById(android.R.id.text1);//应该是TextView类型的
view.findViewById(android.R.id.text2);//应该是TextView类型的
}
});
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lists=new ArrayList<String>();
Cursor c=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
startManagingCursor(c);
if(c!=null){
c.moveToFirst();
do{
lists.add(c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));
}while(c.moveToNext());
}
ListAdapter adapter=new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice,
c, new String[]{ContactsContract.Contacts.DISPLAY_NAME,ContactsContract.Contacts.HAS_PHONE_NUMBER},
new int[]{android.R.id.text1,android.R.id.text2});
setListAdapter(adapter);
listView = getListView();
listView.setItemsCanFocus(false);
listView.setOnItemClickListener(this);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
} @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
SparseBooleanArray a = listView.getCheckedItemPositions();
for(int i = 0; i < lists.size() ; i++)
{
if (a.valueAt(i))
{
Long val = listView.getAdapter().getItemId(a.keyAt(i));
Toast.makeText(ShowPeopleList.this, "index="+val.toString()+lists.get(i), Toast.LENGTH_SHORT).show();
}
} }