Урок 21. Создание и вызов Activity

Обсуждение уроков
Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 21. Создание и вызов Activity

Сообщение rezak90 » 08 ноя 2012, 11:52

Вы чуть не поняли, контекст передавайте в свои классы и обращайтесь к ресурсам или к бд и т.д. Наприме что вам мешает сделать метод в MyClass.setContext(getApplicationContext()); и всё, юзайте теперь в своём классе что захотите, доступ к контексту у вас есть.
R.id.team
Политика на форуме запрещена

pulsartm72
Сообщения: 5
Зарегистрирован: 20 ноя 2012, 13:38

Re: Урок 21. Создание и вызов Activity

Сообщение pulsartm72 » 21 ноя 2012, 08:50

Не получается вызвать третье активити из второго.В чем суть- есть три активити, по нажатитю на кнопку переходим из первого во второе активити, по выбранному элементу spinner переходим из второго активити в третье.Во втором актитвити пишу так
spiner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View itemSelected,
int selectedItemPosition, long selectedId) {
// TODO Auto-generated method stub
Intent intent2= new Intent(this, ThirdActivity.class);
startActivity(intent2);
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}







});
Эклипс ругается и приложение не работает.если меняю на Intent intent2= new Intent(TwoActivity.this, ThirdActivity.class) то при запуске приложения если нажмешь кнопку на секудну открывается второе активити а потом третье.Почему так?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 21. Создание и вызов Activity

Сообщение rezak90 » 21 ноя 2012, 09:05

по ходу вконтакте в группе ответил)))
R.id.team
Политика на форуме запрещена

nubodroid
Сообщения: 28
Зарегистрирован: 19 ноя 2012, 08:20

Re: Урок 21. Создание и вызов Activity

Сообщение nubodroid » 29 ноя 2012, 01:13

Всем ку!
Долго не мог решить в какую ветку писать.

В общем... вывожу данные в виде списка из БД.
Вношу новые данные в базу через диалоговое окно. Данные вносятся, но... теперь мне надо чтобы обновился экран... Я сделал через statActivity

Код: Выделить всё

							
	Intent intent = new Intent("myapp.show.categorylist");
			
	startActivity(intent);

что явно не есть правильно... т.е.... активити вызывает сам себя.

И еще вопрос... никак не могу найти куда мы попадаем после закрытия диалогового окна... попытался пройтись по шагам в дебагере.... но... вылезает новое окно с надписью source not found. Вызов диалога выполняется через главное меню.

Всем заранее спасибо.

З.Ы. Может в уроках ответ на эти вопросы уже есть и я где-то пропустил....

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 21. Создание и вызов Activity

Сообщение rezak90 » 29 ноя 2012, 01:28

в каких вьюшках хранятся данные?
R.id.team
Политика на форуме запрещена

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 21. Создание и вызов Activity

Сообщение AndreyI » 29 ноя 2012, 01:37

Чтобы обновить данные на экране, после изменения данных в БД нужно по-новой считать данные из БД в курсор и обновить курсор у адаптера
adapter.changeCursor(cursor);

nubodroid
Сообщения: 28
Зарегистрирован: 19 ноя 2012, 08:20

Re: Урок 21. Создание и вызов Activity

Сообщение nubodroid » 29 ноя 2012, 01:41

AndreyI писал(а):Чтобы обновить данные на экране, после изменения данных в БД нужно по-новой считать данные из БД в курсор и обновить курсор у адаптера
adapter.changeCursor(cursor);
блин... надо же через SimpleCursorAdapter делать....а я пример с обычным ArrayAdapter выдрал

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 21. Создание и вызов Activity

Сообщение AndreyI » 29 ноя 2012, 01:47

Тогда обновляйте данные в ArrayList и вызывайте notifyDataSetChanged() у адаптера

nubodroid
Сообщения: 28
Зарегистрирован: 19 ноя 2012, 08:20

Re: Урок 21. Создание и вызов Activity

Сообщение nubodroid » 29 ноя 2012, 01:57

AndreyI писал(а):Тогда обновляйте данные в ArrayList и вызывайте notifyDataSetChanged() у адаптера
Ага, понял.... спасибо большое

Verteletsky
Сообщения: 2
Зарегистрирован: 09 янв 2013, 00:52

Re: Урок 21. Создание и вызов Activity

Сообщение Verteletsky » 13 янв 2013, 01:13

Здравствуйте!
Урок отличный=)
Все получилось, но хочу сделать на одном экране более 1 кнопки, создаю вторую кнопку, пытаюсь что-то делать чтобы со второй кнопки переходило на новый экран, но не получается, прошу Вас помочь!

Какой код нужно добавлять сюда? в файл MainActivity , для второй кнопки, тут только для первой

package ru.vert.formula;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

Button button1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(this);
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
Intent intent = new Intent(this, ActivityTwo.class);
startActivity(intent);
break;
default:
break;
}
}
}

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 21. Создание и вызов Activity

Сообщение KamiSempai » 13 янв 2013, 11:42

Как то так:

Код: Выделить всё

package ru.vert.formula;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

	public class MainActivity extends Activity implements OnClickListener {

		Button button1;

		/** Called when the activity is first created. */
		@Override
		public void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.main);

			button1 = (Button) findViewById(R.id.button1);
			button1.setOnClickListener(this);

			// Находим вторую кнопку
			Button button2 = (Button) findViewById(R.id.button2);
			button2.setOnClickListener(this); // Слушатель нажатия тот же самый
		}

		@Override
		public void onClick(View v) {
			// Здесь идет оператор выбора. Нужно добавить обработку новой кнопки.
			switch (v.getId()) {
			case R.id.button1:
				Intent intent = new Intent(this, ActivityTwo.class);
				startActivity(intent);
				break;
			case R.id.button2:
				// Тут должен быть код который выполняется по нажатию на вторую кнопку
				break;
			default:
				break;
			}
		}
	}
R.id.button2 - это id второй кнопки. У Вас оно может быть другим, посмотрите в файле разметки какай именно.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Verteletsky
Сообщения: 2
Зарегистрирован: 09 янв 2013, 00:52

Re: Урок 21. Создание и вызов Activity

Сообщение Verteletsky » 13 янв 2013, 20:45

KamiSempai, спасибо, но есть но!
http://clip2net.com/s/2HSKb
Пропал R.java, теперь все в ошибках
На скрине!
Пробую создать его, ничего не меняется!

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 21. Создание и вызов Activity

Сообщение KamiSempai » 13 янв 2013, 21:58

Попробуйте сделать чистку проекта.
В главном меню выберите "Project/Clean..."
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

GreenJasper
Сообщения: 2
Зарегистрирован: 10 дек 2012, 01:31

Re: Урок 21. Создание и вызов Activity

Сообщение GreenJasper » 22 янв 2013, 04:18

Доброе утро! =)

В ActivityTwo.java в setContentView(R.id.two) подчеркивает two: "two cannot be resolved or is not a field"

Код: Выделить всё

package com.example.p0211_twoactivity;

import android.app.Activity;
import android.os.Bundle;

public class ActivityTwo extends Activity {
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.id.two);
	}

}
И выдает следующие ошибки в Console:
[2013-01-22 03:27:37 - P0211_TwoActivity] R.java was modified manually! Reverting to generated version!
[2013-01-22 03:52:20 - P0211_TwoActivity] Error in an XML file: aborting build.
[2013-01-22 04:24:41 - P0211_TwoActivity] Error in an XML file: aborting build.
[2013-01-22 04:48:39 - P0211_TwoActivity] R.java was modified manually! Reverting to generated version!
[2013-01-22 04:49:31 - P0211_TwoActivity] R.java was modified manually! Reverting to generated version!

Если сделать quick fix ошибки, то он внесет изменения в R.java, но после ctrl+shift+s опять та же ошибка в консоле и опять R.java без изменений.
И R.java удалял и чистку делал.
Подскажите пож-та с чем это связано и как исправить.

GreenJasper
Сообщения: 2
Зарегистрирован: 10 дек 2012, 01:31

Re: Урок 21. Создание и вызов Activity

Сообщение GreenJasper » 22 янв 2013, 15:41

Прошу прощения. Уже сам исправил (layout вместо id). опечатался просто =)

grecd
Сообщения: 19
Зарегистрирован: 08 мар 2013, 14:36

Re: Урок 21. Создание и вызов Activity

Сообщение grecd » 09 мар 2013, 16:42

Кто-нибудь сталкивался с таким редактором манифест файла?
Изображение
У меня совсем не так как описано в уроке.
вылазит такая ошибка
Изображение
SDK самое последнее

grecd
Сообщения: 19
Зарегистрирован: 08 мар 2013, 14:36

Re: Урок 21. Создание и вызов Activity

Сообщение grecd » 11 мар 2013, 12:58

Кто нибудь может показать что я неправильно делаю?

shatl
Сообщения: 32
Зарегистрирован: 04 мар 2013, 17:03

Re: Урок 21. Создание и вызов Activity

Сообщение shatl » 11 мар 2013, 13:23

grecd писал(а):Кто нибудь может показать что я неправильно делаю?
Когда это делал у меня то же новый класс не создавался так.Я их в интенте создал, там у тебя на первом скриншоте name торчит вот там и пиши как зовут клас потом кликай на самом классе созданом в интенте что бы имя рописалося и всё.

grecd
Сообщения: 19
Зарегистрирован: 08 мар 2013, 14:36

Re: Урок 21. Создание и вызов Activity

Сообщение grecd » 12 мар 2013, 09:37

shatl писал(а):
grecd писал(а):Кто нибудь может показать что я неправильно делаю?
Когда это делал у меня то же новый класс не создавался так.Я их в интенте создал, там у тебя на первом скриншоте name торчит вот там и пиши как зовут клас потом кликай на самом классе созданом в интенте что бы имя рописалося и всё.
В Intent'е Activity не создается . Всё та же ошибка в Name

shatl
Сообщения: 32
Зарегистрирован: 04 мар 2013, 17:03

Re: Урок 21. Создание и вызов Activity

Сообщение shatl » 14 мар 2013, 18:41

Здравствуйте!03-14 19:28:51.943: E/AndroidRuntime(21391): FATAL EXCEPTION: main
03-14 19:28:51.943: E/AndroidRuntime(21391): android.content.ActivityNotFoundException: Unable to find explicit activity class {rm.example.q/rm.example.q.Two}; have you declared this activity in your AndroidManifest.xml?
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1556)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1431)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.app.Activity.startActivityForResult(Activity.java:3423)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.app.Activity.startActivityForResult(Activity.java:3384)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.app.Activity.startActivity(Activity.java:3594)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.app.Activity.startActivity(Activity.java:3562)
03-14 19:28:51.943: E/AndroidRuntime(21391): at rm.example.q.MainActivity.onClick(MainActivity.java:30)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.view.View.performClick(View.java:4222)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.view.View$PerformClick.run(View.java:17273)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.os.Handler.handleCallback(Handler.java:615)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.os.Handler.dispatchMessage(Handler.java:92)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.os.Looper.loop(Looper.java:137)
03-14 19:28:51.943: E/AndroidRuntime(21391): at android.app.ActivityThread.main(ActivityThread.java:4895)
03-14 19:28:51.943: E/AndroidRuntime(21391): at java.lang.reflect.Method.invokeNative(Native Method)
03-14 19:28:51.943: E/AndroidRuntime(21391): at java.lang.reflect.Method.invoke(Method.java:511)
03-14 19:28:51.943: E/AndroidRuntime(21391): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
03-14 19:28:51.943: E/AndroidRuntime(21391): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
03-14 19:28:51.943: E/AndroidRuntime(21391): at dalvik.system.NativeStart.main(Native Method)

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

Ответить