Как использовать браузер контент-провайдера? - PullRequest
1 голос
/ 08 октября 2011

Я написал этот простой код для получения закладок из браузера:

public class BroswerProviderActivity extends ListActivity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Cursor cursor = getContentResolver().query(Browser.BOOKMARKS_URI, null, null, null, null);

        String s[] = new String[]{
                Browser.BookmarkColumns.BOOKMARK,
                Browser.BookmarkColumns.TITLE};
        int view[] = new int[]{
                R.id.Bookmark, R.id.title};

        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.main, cursor, s, view);

        this.setListAdapter(adapter);
    }
}

Я также добавил разрешения в файл манифеста:

<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS">

Но когда я запускаю это приложение, оно не работает. Он отображает некоторую ошибку и просит принудительно остановить приложение. В чем проблема с этим? пожалуйста, помогите мне. Спасибо

Вот исключение, которое я получаю из окна LogCat. Но это не имеет отношения: enter image description here

Вот XML-файл, который я написал:

<ListView android:transcriptMode="normal" android:id="@+id/list"     android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.0"></ListView>
 <TextView android:text="TextView" android:id="@+id/bookmark" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
 <TextView android:text="TextView" android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>

1 Ответ

1 голос
/ 09 октября 2011

Поскольку вы используете ListActivity идентификатор ListView в макете XML должен быть @android:id/list.

См. документы .

...