Необходимо передать данные из одного действия в другую базу данных ссылок - PullRequest
1 голос
/ 31 августа 2011

В моем приложении я хочу сохранить некоторые строковые данные в массив.

Затем эти данные должны быть извлечены другим действием в ListView.

Я использую базу данных для хранения данных. Но каждый раз я храню данные в разных таблицах. Теперь, насколько мне известно, невозможно извлечь все доступные таблицы из определенной базы данных.

Итак, я пытаюсь сохранить имя таблицы в Array во время ее создания. И отображать это в ListView.

Теперь, когда я нажимаю на перикуляр ListIndex, он будет извлекать данные этой таблицы.

Возможно ли это?

1 Ответ

1 голос
/ 31 августа 2011

Использовать карту имени таблицы против массива данных

    // Store
    Map<String, String[]> storage = new HashMap<String, String[]>();
    String[] items = {"one","two","three"}; // Your Data
    storage.put("tableName", items);        // Your table name

    // Retrieve a specific table
    String[] tableItems = storage.get("tableName");
    for(String s : tableItems){
        Log.i("TAG", "item name: "+s); // Will loop and print one , two then three
    }

    // Retrive all
    Set<String> allTables = storage.keySet();
    for (String table : allTables) {
        for(String s : storage.get(table)){
            Log.i("TAG", "table name: " + table + "item name: "+s);  // Will loop through each table, (we only have one) and print one , two then three
        }
    }

EDIT

Ваш комментарий об отправке имен таблиц:

    String[] items = {"tableOne","tableTwo","tableThree"}; // Your Data
    Intent intent = new Intent(this, Activity2.class);
    intent.putExtra("sendIntentTableName", items);
    startActivity(intent);

    ... onCreate(){
        String[] tableNames = getIntent().getStringArrayExtra("sendIntentTableName");
    }
...