我试图读取多个列表中的联系人checkboxes,但是当我调用sparsebooleanarray..对于所有列表条目只返回false时,即使对于那个已检查的...我查看了这个帖子为什么是ListView. getCheckedItemPositions()没有返回正确的值?...但是当我实现addClickHandlerToCheckBox时,它会强制停止..这已经困扰了我4天..请任何帮助..
public void populateContactList() {
// Build adapter with contact entries
final Cursor cursor = getContacts();
String[] fields = new String[] {
ContactsContract.Data.DISPLAY_NAME
};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contact_entry, cursor,
fields, new int[] {R.id.contactEntryText});
mContactList.setAdapter(adapter);
mContactList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
proceedButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
SparseBooleanArray checked=mContactList.getCheckedItemPositions();
int len = mContactList.getCount();
for(int i=0;i<len;i++)
{
if(checked.get(i)==true)
{
String item = mContactList.getAdapter().getItem(checked.keyAt(i)).toString();
edt.append(","+item);
}
}
}
});
}
Run Code Online (Sandbox Code Playgroud) 我如何从已安装的应用程序中的PackageInfo数据访问应用程序类型或类别,如Games/Utilities/Social等?
仅当表值小于当前要更新的过帐值时,我才需要更新Firebase分数表中的表级值.所以KeyOfLevel价值永远不会减少.
由于客户端涉及过多的提取和检查调用.我需要在Firebase的规则标签中执行此操作.我并不完全知道如何编写这些规则.
例如:
score:
{
"1234567890":
{
CoinsKey: 1000,
KeyOfLevel: 5
}
}
Run Code Online (Sandbox Code Playgroud)
其中123456789是用户ID.
我试图从联系人表中读取联系人并将所有联系人存储到列表变量中.但是无法弄清楚为什么它似乎无法正常工作......在执行时关闭一个强制关闭.需要发送联系人通过json对象到Web服务器.
private static final String TABLE_CONTACTS = "contacts";
// contacts JSONArray
JSONArray contacts = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
List<contact> l=new ArrayList<contact>();
String query="SELECT * FROM"+ TABLE_CONTACTS;
DBHelper help= new DBHelper(getBaseContext());
SQLiteDatabase db=help.getWritableDatabase();
Cursor cursor = db.rawQuery(query, null);
if(cursor.moveToFirst())
{
do{
contact contact = new contact();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
contact.setPhoneNumber(cursor.getString(2));
Toast.makeText(this,contact.name,Toast.LENGTH_LONG);
l.add(contact);
}
while(cursor.moveToNext());
}
Run Code Online (Sandbox Code Playgroud)
和清单文件有2个权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
Run Code Online (Sandbox Code Playgroud)
和DBHelper类,用于将sqlitopenhelper扩展为getWritableDatabase ..
class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "contactsManager";
// Contacts …Run Code Online (Sandbox Code Playgroud)