Android Hashmap возвращает значение из другого класса - PullRequest
0 голосов
/ 09 марта 2012

Я хотел бы передать значение из DatabaseHandler.java, скажем «name», в mainActivity и показать его в textview.

DatabaseHandler.java

public HashMap<String, String> getUserDetails(){
    HashMap<String,String> user = new HashMap<String,String>();
    String selectQuery = "SELECT  * FROM " + TABLE_LOGIN;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    // Move to first row
    cursor.moveToFirst();
    if(cursor.getCount() > 0){
        user.put("name", cursor.getString(1));
        user.put("email", cursor.getString(2));
        user.put("uid", cursor.getString(3));
        user.put("created_at", cursor.getString(4));
    }
    cursor.close();
    db.close();
    // return user
    return user;
}

MainActivity.java

TextView lblid;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

lblid = (TextView) findViewById(R.id.showid);
HashMap<string, string=""> details = getUserDetails();
        String nametext = details.getString("name");
        lblid.setText(nametext);
}

У меня проблемы с написанием правильного кода, чтобы он работал, я получаю сообщение "Синтаксическая ошибка на токене". Пожалуйста, помогите мне. Спасибо.

1 Ответ

3 голосов
/ 09 марта 2012

эта строка вызывает проблему

HashMap<string, string=""> details = getUserDetails();

замените его на

HashMap<string, string> details = getUserDetails();

Пример использования

Main.java

public class MainActivity extends Activity {
...
private DatabaseHandler dbh;
...
public void onCreate(Bundle) {
dbh = new DatabaseHandler(...);
...
}
...
HashMap<String, String> details = dbh.getUserDetails();
...
String nametext = details.get("name");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...