Страница 1 из 1

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

Добавлено: 16 авг 2012, 09:42
powercat
Есть две кнопки, которые должны запускать разные Активити. Код такой, все отлично работает:

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

    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 (((( Как надо сделать?

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

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

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

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

Добавлено: 16 авг 2012, 11:18
powercat
Данкс, буду пробовать

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

Добавлено: 16 авг 2012, 12:55
powercat
Не, вот такое выдает
3.png
3.png (6.03 КБ) 4616 просмотров

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

Добавлено: 16 авг 2012, 13:17
AndreyI
Ну так ".class" нужно же убрать ;)

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

Добавлено: 16 авг 2012, 14:02
powercat
ок, будем копать )

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

Добавлено: 17 авг 2012, 14:47
powercat
Данкс, работает. Передавать в процедуру аргумент надо Какая_тоАктивити.class