Android putExtra проблема

1

Я просмотрел SE и google и нашел то, что я считал достойными примерами того, как реализовать putExtra() в тандеме с getStringExtra().

Проблема, с которой я, похоже, неспособен решить, заключается в том, что мои данные putExtra никогда не получаются из моего вызова getStringExtra в целевой активности.

Я пробовал многочисленные примеры SE, в которых другие задавали этот вопрос бесчисленное количество раз, и все же он никогда не приближает меня к рабочей базе, чтобы расшириться.

Моя основная деятельность заключается в следующем: (Во-первых, я пробовал это без везения)

    // Click handler for group list items
    lvGroups.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            int gid       = groupIds.get(arg2);
            Intent intent = new Intent(RadSMS_Activity.this, RadSMS_CreateGroup.class);
            intent.putExtra("SELECTED_GROUP_ID", gid);
            startActivity(intent);
            finish();
        }
    });

(Затем я попробовал это. Также не повезло.)

    // Click handler for group list items
    lvGroups.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            int gid       = groupIds.get(arg2);
            Intent target = new Intent();
            target.putExtra("SELECTED_GROUP_ID", gid);
            Intent intent = new Intent(RadSMS_Activity.this, RadSMS_CreateGroup.class);
            startActivity(intent);
            finish();
        }
    });

Мое целевое действие, которое я хочу извлечь из следующего, следующее:

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.creategroup);

        String strGID = getIntent().getStringExtra("SELECTED_GROUP_ID");
        selectedGID = new Long(strGID);
        // ... additional code would be here
    }

Функция усечена ради краткости.

Итак, согласно всему, что я видел до сих пор, кажется, что я делаю это правильно, но когда я помещал точку останова в строку, где selectedGID получает свое значение, strGID всегда имеет значение null. Это действительно начинает сходить с ума.

Может кто-нибудь скажет мне, если я сделал что-то неправильное?

Теги:
android-intent

2 ответа

3
Лучший ответ

gid - это int. Вы помещаете int. Кажется, вы пытаетесь получить строку. Рассмотрим:

int gid= getIntent().getIntExtra("SELECTED_GROUP_ID",-1);
  • 0
    К какой версии SDK принадлежит этот синтаксис? Потому что я пишу свой в 2.2 или SDK 5, и когда я пытаюсь сделать это или предложение Олегаса, я не разрешаю использовать эти звонки.
  • 0
    Хорошо ... Я получил вызов на работу и установил значение по умолчанию на ноль, но теперь он возвращает ноль, что говорит мне, что положенное значение 2 все еще не доходит до моей активности. Это кажется обнадеживающим, но все еще не работает.
Показать ещё 2 комментария
1

Вы помещаете целочисленное значение, получая его как строку. Он всегда будет возвращать null. Используйте aim.getExtras(). GetInt() вместо намерения .getStringExtra().

  • 0
    К какой версии SDK принадлежит этот синтаксис? Потому что я пишу свой в 2.2 или SDK 5, и когда я пробую это или предложение JAL, это не позволяет использовать эти вызовы.
  • 0
    Все для уровня API 1. См. Документы SDK. Вызов getInt должен иметь аргумент - имя доп.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню