Я просмотрел 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. Это действительно начинает сходить с ума.
Может кто-нибудь скажет мне, если я сделал что-то неправильное?
gid - это int. Вы помещаете int. Кажется, вы пытаетесь получить строку. Рассмотрим:
int gid= getIntent().getIntExtra("SELECTED_GROUP_ID",-1);
Вы помещаете целочисленное значение, получая его как строку. Он всегда будет возвращать null. Используйте aim.getExtras(). GetInt() вместо намерения .getStringExtra().