0

我对 Android 还很陌生,并且真的很想了解我的应用程序的基本用户流,这样我可以获得一种成就感,这将使我对它的所有领域都产生足够的兴趣。我知道这可能不是最佳实践,但我稍后会返回并确保我拥有多线程、单例 DB、异步和所有其他好东西。主要是我想尽快进入 UI 设计部分。

基本上,我试图更新基于 onListItemClicks 的 SQL 查询,并通过用户导航、作者、关键字、类别等动态更新。

我有这个工作,并且肯定会有一种方法可以使某些东西工作,因为它很容易与数据库相对应,但我还没有找到任何东西:

@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

我能够获得一些跨活动传递值的意图,但我不断得到空值和不一致的结果。

带有结果列表的屏幕截图

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);

将此部分添加到您的下一个活动的创建方法中:

    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 回答