0

私は Android にかなり慣れていないので、自分のアプリの基本的なユーザー フローを説明したいと思っています。そのため、達成感を得ることができ、そのすべての領域に取り組むことに十分な興味を持ち続けることができます。これがおそらくベスト プラクティスではないことはわかっていますが、後で戻って、マルチスレッド、シングルトン DB、Async、およびその他すべての優れた機能があることを確認します。主にUIデザインの部分に早く行きたいです。

基本的に、onListItemClicks に基づいて SQL クエリを更新しようとしており、ユーザー ナビゲーション、作成者、キーワード、カテゴリなどを通じて動的に更新しようとしています。

私はこれを機能させており、DBと非常に簡単に対応しているため、何かを機能させる方法があると確信していましたが、まだ何も見つけていません:

@Override

protected void onListItemClick(ListView l, View v, int position, long id) {
Log.i("FragmentList", "authors_id " + id);

ここに私が試した他のコードがありますが、失敗しました:

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){} 

String selectedItem = (String) getListAdapter().getItem(position);
String query = "SELECT body FROM \"main\".\"quotes\" WHERE _id = '" + selectedItem + "'";

また、膨大な数の異なるインテント/バンドル メソッドを試しました

  1. https://developer.android.com/reference/android/content/Intent.html
  2. https://developer.android.com/reference/android/os/Bundle.html

アクティビティ間で値を渡すインテントをいくつか取得できましたが、null 値と一貫性のない結果が得られ続けました。

結果リストのスクリーンショット

4

1 に答える 1

0
    Intent intent = new Intent(MainActivity.this, authorlistactivity.class);
    Bundle bundle = new Bundle();
    bundle.putInt("position", position);
    bundle.putLong("id", id);
    intent.putExtras(bundle);
    startActivity(intent);

この部分を次のアクティビティの on create メソッドに追加します。

    Bundle bundle = getIntent().getExtras();
    assert bundle != null;
    int position = bundle.getInt("position");
    long id = bundle.getLong("id");

vogella が示しているように、どうやらクエリは私が思っていたよりもずっと緩いようです。

        // Database creation SQL statement
        private static final String DATABASE_CREATE = "create table "
                + TABLE_TODO
                + "("
                + COLUMN_ID + " integer primary key autoincrement, "
                + COLUMN_CATEGORY + " text not null, "
                + COLUMN_SUMMARY + " text not null,"
                + COLUMN_DESCRIPTION
                + " text not null"
                + ");";

http://www.vogella.com/articles/AndroidSQLite/article.html

于 2013-08-13T03:29:51.367 に答える