Java 游标适配器不膨胀ListView:Android

Java 游标适配器不膨胀ListView:Android,java,android,Java,Android,您好,我正在尝试创建一个活动,其中我添加了一个搜索工具,用于在电话簿中搜索联系人,并在列表视图中列出所选联系人。然而,当我试图运行应用程序时,CursorAdapter并没有膨胀任何视图 这是我的密码: public class FamilyAndFriends extends AppCompatActivity { Typeface mytypeface1; SearchView searchView; ListView contactlist; Cursor

您好,我正在尝试创建一个活动,其中我添加了一个搜索工具,用于在电话簿中搜索联系人,并在列表视图中列出所选联系人。然而,当我试图运行应用程序时,CursorAdapter并没有膨胀任何视图

这是我的密码:

public class FamilyAndFriends extends AppCompatActivity {

    Typeface mytypeface1;
    SearchView searchView;
    ListView contactlist;
    Cursor nameCursor;
    CursorAdapter nameAdapter;
    Uri nameUri;
    public static final String projection[] = {ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME};

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

        TextView textView = (TextView) findViewById(R.id.textView9);
        mytypeface1 = Typeface.createFromAsset(getAssets(), "Roboto-Light.ttf");
        textView.setTypeface(mytypeface1);

        Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
        toolbar.setTitle("Friends & Family");
        setSupportActionBar(toolbar);

        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        searchView = (SearchView) findViewById(R.id.searchView);
        setupSearchView();

        contactlist = (ListView) findViewById(R.id.listView);
        contactlist.setAdapter(nameAdapter);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.menu_user_info, menu);
        return true;

    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        switch (id) {
            case android.R.id.home:
                NavUtils.navigateUpFromSameTask(this);
                break;
            case R.id.next:
                startActivity(new Intent(this, Settings.class));
                break;
        }
        return true;
    }

    private void setupSearchView() {

        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchableInfo searchableInfo = searchManager.getSearchableInfo(getComponentName());
        searchView.setSearchableInfo(searchableInfo);
        searchView.setQueryRefinementEnabled(true);
        searchView.setIconifiedByDefault(false);

    }


    @Override
    protected void onNewIntent(Intent intent) {

        if (ContactsContract.Intents.SEARCH_SUGGESTION_CLICKED.equals(intent.getAction()))
            nameUri = intent.getData();
            nameCursor = getContentResolver().query(nameUri, projection, null, null, null);

        nameAdapter = new CursorAdapter(this, nameCursor, 0) {
            @Override
            public View newView(Context context, Cursor cursor, ViewGroup parent) {

                return LayoutInflater.from(context).inflate(R.layout.contact_listview, parent, false);
            }

            @Override
            public void bindView(View view, Context context, Cursor cursor) {
                TextView nameContact = (TextView) view.findViewById(R.id.contact_name);
                String CONTACT_NAME = nameCursor.getString(nameCursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
                nameContact.setText(CONTACT_NAME);
                nameContact.setTypeface(mytypeface1);
            }
        };

    }
}

有什么帮助吗???

你在哪里调用
SearchView#setonquerytextener
?我没有调用
setonquerytextener
。我有一个onNewIntent()方法,其中我使用了
if(contacts contract.Intents.SEARCH\u SUGGESTION\u CLICKED.equals(intent.getAction())
@pskinkso setup
onquerytextlinester
只有在先前创建了
活动的情况下,
onNewIntent()
方法才会启动,它的
启动模式是
singleTop
singleTask
。你能在我的代码中发布设置
onquerytexlistener
的代码吗@pskink