Re: Переключение между экранами приложения
тьфу ты нуты.... я дурья башка... я метод создал во второй же активности... все нормально!!! спасибо за быстрый ответ.
P.S. Александр, это я вам писал на почту про тему на 4pda..
Все вопросы проплачены кошками - всемирно известными производителями котят
You are not logged in. Please login or register.
Для регистрации на форуме следует написать мне письмо. В ответе я напишу правильный ответ для прохождения регистрации.
Форум Александра Климова → Android → Переключение между экранами приложения
тьфу ты нуты.... я дурья башка... я метод создал во второй же активности... все нормально!!! спасибо за быстрый ответ.
P.S. Александр, это я вам писал на почту про тему на 4pda..
public class SecondActivity {
public final static String THIEF="com.example.dmitry.sherlock.THIEF";
public void onClickRadio (View v){
Intent answerIntent=new Intent();
switch (v.getId()){
case R.id.radio1: answerIntent.putExtra(THIEF,"Ugly dog!");
break;
case R.id.radio2:answerIntent.putExtra(THIEF,"Crow");
break;
case R.id.radio3:answerIntent.putExtra(THIEF,"Cat");
break;
default:
break;
}
setResult(RESULT_OK,answerIntent);
finish();
}
}
//////Ошибки:
setResult - cannot resolve method 'setResult(?,android.content.Intent)'
RESULT_OK - cannot resolve symbol 'RESULT_OK'
Подскажите, пожалуйста, почему такие ошибки появились? Перерыл кучу сайтов/гайдов/форумов и ничего не нашел.
Потому что эта константа RESULT_OK и метод setResult() относятся к активности, а не к любому классу. А у вас просто класс. Вы забыли добавить extends Activity (или др. варианты)
Потому что эта константа RESULT_OK и метод setResult() относятся к активности, а не к любому классу. А у вас просто класс. Вы забыли добавить extends Activity (или др. варианты)
У Вас в уроке это не указано=)
У Вас в уроке это не указано=)
Здравствуйте, я ваша тётя.
В первом же листинге статьи об этом говорится.
Я немного запутался, создал вторую кнопку и написал код для перехода на новую активность, дальше по уроку идет передача данных между активностями, вы пишите "Переделаем предыдущий пример." так там получается все удалять? Или проще создать новый проект?
и как сделать такие текстовые поля?
Зачем удалять? Есть кнопка, есть две активности. Просто отредактировать код. В конце концов добавьте вторую кнопку для перехода на третью активность. Больше практикуйтесь.
Какие такие текстовые поля? Обычные поля.
Здравствуйте, мне не понятны несколько моментов:
При создании активности через File | New | Activity | Blank Activity у меня создается автоматически две активности, собственно при создании проекта тоже автоматом создается две активности(content_main.xml и activity_main.xml), в обоих этих случаях одну активность не могу редактировать(не в текстовом не в графическом режиме)
У вас создаются не две активности, а два файла разметки. Редактировать можете, только надо брать второй файл content.xml, а другой оставьте в покое.
Здравствуйте! Я не знаю какой код надо писать на кнопку для открытия второго экрана. Можете помочь?
Вы хотите, чтобы я скопировал вам сюда весть текст урока?
Здравствуйте, такая проблема:
Второй Activity открывается, и меняется заголовок все хорошо, но он пустой, просто белый лист и никакие элементы, ни цвет ничего не отображается.
В чем может быть проблема?
Разобрался, не тот метод вызывал
А каким должен быть цвет и какие элементы вы ожидали увидеть? И что вы для этого сделали?
Здравствуйте! Подскажите кто знает, почему методы
public boolean onTouchEvent(MotionEvent event) {
this.mGestureDetectorCompat.onTouchEvent(event);
return super.onTouchEvent(event);
}
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (e1.getX() < e2.getX()) {
Intent intent = new Intent(
RatesActivity.this, MainActivity.class);
startActivity(intent);
}
return true;
}
}
работают только на пустом экране, если провести по элементам, например, spinner или другим, то активность не меняется. Спасибо!
Потому что, метод onTouchEvent() относится к активности и работает только для нее.
Тогда почему тоже самое работает на обычном текстовом поле? И как реализовать тоже самое но для работы с любым элементом? С фрагментами еще не знаком.
Добрый день! Столкнулся с тем, что если не заполнять формы, при прописанных getIntent'ах, то приложение не выдает того самого "ЖЫвотное, вам передали дырку от бублика". К слову, "жывотное", как и "дырка", там вообще сереет, a AS говорит, мол, "Variable 'user' initializer '"жывотное"' is redundant".
String user = "жывотное";
String gift = "что-то про дырку";
Intent intent = getIntent();
user = intent.getStringExtra("username");
gift = intent.getStringExtra("gift");
А очень хочется! Ну, то есть не услышать оскорбления в свой адрес, а заставить все это корректно функционировать.
Проверка через if-else из комментария выше по этой же причине, я полагаю, не проходит.
И есть еще проблема: обновленная AS ругается на user и gift в этом месте:
infoTextView.setText(user + " , вам передали " + gift);
Говорит, мол, "Do not concatenate text displayed with setText. Use resource string with placeholders."
Но тут уже я совсем бессилен - новичок. Пытался гуглить, но мне, как говорится, что в %1$s, что по setHint'у. Не смог заставить работать по-другому.
Бью челом - ткните носом!
Проверяйте на пустую строку. Если пустая, то присвоить переменной значение "Животное" и т.д.
В обоих случаях студия не ругается, а предупреждает. Для урока это не существенно, можно не обращать внимания.
Добрый день, Александр.
У меня возник вопрос передачи данных в главную активность.
Приложение работает, я могу выбрать кого-либо (Ваську, Песика, Ворону), данные передаются.
Но если я хочу выбрать кого-либо заново или же просто завершить вторую активность, то приложение зависает.
Вам нужно разобраться, что вызывает ошибку и обработать её. Код как в примере или вы что-то меняли?
В общем, не знаю в чем была беда, но теперь все работает, хотя ничего не меняла.
Скорее всего дело в тормозящем эмуляторе, так как в логе не было никаких критичных сообщений об ошибках.
Добрый день.
Возникла следующая проблема: вроде как приложение работает, только вот не выводит обратно на первый экран выбраный на втором экране ответ (будь то песик или же ворона). Выводится "No answer", то есть словно мы ничего не выбрали на втором экране, и никакой информации от него на первый экран не поступило. В чем может быть ошибка?
MainActivity:
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
static final private int CHOOSE_THIEF = 0;
public void OnClick(View view) {
Intent questionIntent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(questionIntent, CHOOSE_THIEF);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
TextView infoTextView = (TextView)findViewById(R.id.infoTextView);
if(requestCode == CHOOSE_THIEF) {
if(requestCode == RESULT_OK) {
String thiefName = data.getStringExtra(SecondActivity.THIEF);
infoTextView.setText(thiefName);
} else {
infoTextView.setText("No answer");
}
}
}
}
Second activity:
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
public final static String THIEF = "com.example.nastya.sherlock.THIEF";
public void onRadioClick(View view) {
Intent answerIntent = new Intent();
switch (view.getId()) {
case R.id.radioDog:
answerIntent.putExtra(THIEF, "Сраный пёсик");
break;
case R.id.radioCat:
answerIntent.putExtra(THIEF, "Лошадь Преживальского");
break;
case R.id.radioCrow:
answerIntent.putExtra(THIEF, "Ворона");
break;
default:
break;
}
setResult(RESULT_OK, answerIntent);
finish();
}
}
Вы неаккуратно переписали код метода onActivityResult(). Найдите ошибку самостоятельно - одно слово
Нашла ошибку, все заработало.
Большое кошачье спасибо
Форум Александра Климова → Android → Переключение между экранами приложения
Powered by PunBB, supported by Informer Technologies, Inc.