小编Shr*_*Rao的帖子

ListView.getCheckedItemPositions无法返回SparseBooleanArray中的已检查项

我试图读取多个列表中的联系人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)

checkbox android listview android-layout android-listview

5
推荐指数
1
解决办法
2894
查看次数

如何从android中的PackageInfo中找到已安装的应用类别

我如何从已安装的应用程序中的PackageInfo数据访问应用程序类型或类别,如Games/Utilities/Social等?

java android android-intent

5
推荐指数
0
解决办法
149
查看次数

如果Firebase表的大于当前值,则如何写入Firebase表

仅当表值小于当前要更新的过帐值时,我才需要更新Firebase分数表中的表级值.所以KeyOfLevel价值永远不会减少.

由于客户端涉及过多的提取和检查调用.我需要在Firebase的规则标签中执行此操作.我并不完全知道如何编写这些规则.

例如:

score: 
{
    "1234567890": 
    {
        CoinsKey: 1000,
        KeyOfLevel: 5
    }
}
Run Code Online (Sandbox Code Playgroud)

其中123456789是用户ID.

firebase firebase-realtime-database

2
推荐指数
1
解决办法
527
查看次数

如何从联系人数据库中读取和存储所有联系人到列表?

我试图从联系人表中读取联系人并将所有联系人存储到列表变量中.但是无法弄清楚为什么它似乎无法正常工作......在执行时关闭一个强制关闭.需要发送联系人通过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)

android android-contacts sqliteopenhelper

1
推荐指数
1
解决办法
3101
查看次数