#android
#Android
Вопрос:
У меня есть этот код :
Button groupsButton = (Button)findViewById(R.id.groupsButton);
groupsButton.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Intent myintentGroups=new Intent(CreateMessageActivity.this, GroupsActivity.class).putExtra("<StringName>", "Value");
startActivityForResult(myintentGroups, 3);
}
});
и теперь я хочу написать onActivityResult, я попытался добавить этот код внутри onClick, но он не работает (Eclipse выдает мне ошибку):
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
String result_string=data.getStringExtra("<StringName>");
}
Является ли код для записи onActivityResult неправильным или, может быть, я помещаю его не в то место?
** Редактировать: ** код :
Button groupsButton = (Button)findViewById(R.id.groupsButton);
groupsButton.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Intent myintentGroups=new Intent(CreateMessageActivity.this, GroupsActivity.class).putExtra("<Came From Create Message>", "Value");
startActivityForResult(myintentGroups, 3);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
String result_string=data.getStringExtra("<StringName>");
}
Редактировать 2: ошибки:
Несколько маркеров в этой строке
— Синтаксическая ошибка в токене «(«, ; ожидается
— void является недопустимым типом для переменной
onActivityResult
— Синтаксическая ошибка в токене «)», ; ожидается
— Ожидается синтаксическая ошибка в токене «,», ;
— Ожидается синтаксическая ошибка в токене «,», ;
Ответ №1:
onActivityResult должен быть помещен в класс Activity, который содержит onClick, а не в фактический onClick. CreateMessageActivity.this в новом намерении укажет, к какому действию должен быть возвращен результат.
Комментарии:
1. Eclipse выдает ошибку: void является недопустимым типом для переменной onActivityResult
2. о, тогда вы, вероятно, не помещаете его в нужное место… он должен быть в теле вашего класса на том же уровне (родном), что и onCreate
3. @Dr.Dredel — это в классе Activity, который содержит onClick
4. хорошо… ваш опубликованный код верен … итак, вам нужно опубликовать больше кода, потому что, как есть, вы не должны видеть никаких ошибок
5. Просто для ясности onActivityResult должен быть отдельной функцией в классе Activity. Он не должен быть включен ни в одну функцию, уже имеющуюся в классе.
Ответ №2:
Вы уверены, что возвращаетесь к этому действию? Что вы делаете в своем GroupsActivity.class ? Как вы выходите из него? Способ вернуться к ЭТОМУ действию — вызвать finish() в GroupsActivity.class … тогда ты должен получить свою веревочку. Если вы вызываете другой startActivity() в вашем GroupsActivity.class тогда вы на самом деле не возвращаетесь «назад» к ЭТОМУ, а переходите к другому его экземпляру.
кроме того, в отображаемом коде вы ничего не делаете со строкой… вы уверены, что это уже не работает правильно?