小编Vik*_*lla的帖子

Android:Dialog占据100%的宽度

 final Dialog dialog = new Dialog(this, R.style.theme_dialog);
 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
 dialog.setContentView(R.layout.dialog_name);
 dialog.setCancelable(false);

 dialog.getWindow().setGravity(Gravity.TOP);
 dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
Run Code Online (Sandbox Code Playgroud)

上面的代码占据了大约90%的宽度,但我想要100%.

android dialog android-layout

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

Android T9搜索联系人(智能拨号器)

我想实现T9搜索,例如android native Dialer或TrueCaller Dialer。我到目前为止所取得的成就是:

将击键转换为字符串模式,例如,如果我在拨号程序上按2,它将给我-“ abc”“ ac”“ ca”等

现在我查询

字符串选择= Utility.getSelectionLikeWithIn(mmemonics);

游标查询= getContentResolver()。query(ContactsContract.Contacts.CONTENT_URI,null,selection,null,null);'

公共静态字符串getSelectionLikeWithIn(List mmemonics){

    String selection = "";
    for (int i = 0; i < mmemonics.size(); i++) {
        selection = selection + " display_name LIKE '";
        selection = selection + mmemonics.get(i);

        if (i == mmemonics.size() - 1){
            selection = selection + "%'";


        }else {
            selection = selection + "%' OR";
        }
    }
    return selection;
}'
Run Code Online (Sandbox Code Playgroud)

上面的方法将字符串的Arraylist转换为where子句

其中display_name喜欢'ab%'或display_name喜欢'abc%'等等……

好吧,这给了我效率低下的结果,并且由于复杂的查询而导致应用程序崩溃.....

请建议我如何执行查询以像我的击键一样进行匹配,或者以其他方式在ContactsProvider中进行匹配以执行此类智能搜索

android contactscontract android-contacts

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