Как вынести вызов Интента в процедуру

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Закрыто
Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Как вынести вызов Интента в процедуру

Сообщение powercat » 16 авг 2012, 09:42

Есть две кнопки, которые должны запускать разные Активити. Код такой, все отлично работает:

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

    public void click(View v){
    	switch (v.getId()){
    		case R.id.btnFirst:
    			Intent intent=new Intent(this,ActivityOne.class);
    			intent.putExtra("CATCH_pathToDir", pathToDir);     Передаю путь к одной из папок
    			intent.putExtra("CATCH_pathToDB", pathToDB);     Передаю путь к файлу базы
    			startActivity(intent);
    			break;
    		case R.id.btnSecond:
    			Intent intent=new Intent(this,ActivityTwo.class);
    			intent.putExtra("CATCH_pathToDir", pathToDir);     Передаю путь к одной из папок
    			intent.putExtra("CATCH_pathToDB", pathToDB);     Передаю путь к файлу базы
    			startActivity(intent);
    			break;
    	}
    }
Хочу сделать нечто такое:

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

    public void click(View v){
    	switch (v.getId()){
    		case R.id.btnFirst:
                                        SendIntent(ActivityOne,pathToDir,pathToDB)
    			break;
    		case R.id.btnSecond:
                                        SendIntent(ActivityTwo,pathToDir,pathToDB)
    			break;
    	}
    }
    public void SendIntent(Activity myIntent, String myPathOne, String myPathTwo){
		Intent intent=new Intent(this,myIntent.class);
		intent.putExtra("CATCH_pathToFotoDir", myPathOne);
		intent.putExtra("CATCH_pathToDB", myPathTwo);
		startActivity(intent);
    }
В этом случае во второй процедуре ругается на myIntent (((( Как надо сделать?

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

Re: Как вынести вызов Интента в процедуру

Сообщение AndreyI » 16 авг 2012, 11:09

Так и передавайте в метод class, а не Activity, экземпляр которого еще не создан на момент вызова метода.
В данном случае
public void SendIntent(Class myIntent, String myPathOne, String myPathTwo){
...

А в вызовах соответственно, SendIntent(ActivityOne.class,pathToDir,pathToDB)

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Как вынести вызов Интента в процедуру

Сообщение powercat » 16 авг 2012, 11:18

Данкс, буду пробовать

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Как вынести вызов Интента в процедуру

Сообщение powercat » 16 авг 2012, 12:55

Не, вот такое выдает
3.png
3.png (6.03 КБ) 4614 просмотров

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

Re: Как вынести вызов Интента в процедуру

Сообщение AndreyI » 16 авг 2012, 13:17

Ну так ".class" нужно же убрать ;)

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Как вынести вызов Интента в процедуру

Сообщение powercat » 16 авг 2012, 14:02

ок, будем копать )

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Как вынести вызов Интента в процедуру

Сообщение powercat » 17 авг 2012, 14:47

Данкс, работает. Передавать в процедуру аргумент надо Какая_тоАктивити.class

Закрыто