2010-08-28 4 views
28

Кажется, что каждый пример, который я могу найти для переключения между действиями, включает в себя создание Intent и передачу в контексте View через OnClickListener, связанный с кнопкой.На Android, как вы переключаете действия программно?

Но что, если вы просто решите, что вам нужно переключать действия? В моем случае значение предпочтения вызывает переключатель Activity.

Как вы создаете намерение, которое может вызвать переключатель Activity без связанного OnClickListener?

+8

«Деятельность», а не «Деятельность в». Пожалуйста. –

ответ

60

Это должно сделать это для вас:

Intent myIntent = new Intent(this, MyActivityName.class); 
startActivity(myIntent); 

Вы можете позвонить, что из любой точки в текущей деятельности.

+1

Можно ли передать название деятельности в виде строки? – mhshams

+4

@Mohammad Не в соответствии с какой-либо публичной подписью, которую я видел, но то, что вы могли бы сделать, это использовать 'Class.forName (полное имя класса)' для возврата объекта класса и затем передать этот объект класса конструктор 'Intent'. –

2

Использование PreferenceChangeListener :)

1

Вы можете создать intent в основной деятельности, как этот

Intent intent = new Intent(FirstActivity.this, second.class); 
startActivity(intent); 

Если вы ждете результата от второго, то вы должны использовать

StartActivityforresult(intent,request code).

Код запроса может быть любым: integer.

2

когда когда-либо захотите переключить активность. u может вызвать этот код.

Intent intent = new Intent(this, MyActivity.class); 
startActivity(intent); 

Вы можете написать этот код в PreferenceChangeListener.

+0

вы дублировали других парней, которые отвечают точно ... придумайте свой ответ на rown. – Brian

3

У меня есть самая короткая Version

startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class)); 
5

Это зависит от того, где вы хотите, чтобы начать новую деятельность в коде. Для начала нового действия вам нужен доступ к ссылке Context (например: onPostExecute в AsyncTask). Пожалуйста, посмотрите на this.

Несмотря на то, что это в основном это.

Intent myIntent = new Intent(this, ActivityName.class); 
startActivity(myIntent); 

Это может быть что-то вроде этого, а

Intent myIntent = new Intent(context, ActivityName.class); 
context.startActivity(myIntent); 
+0

Мне было смешно, как вы сделали ту же самую опечатку, что и принятый ответ с именем класса 'AvitivityName';) Вы могли бы просто указать, что в комментарии вы знаете :) – AxelH

+0

@AxelH Да,) Позвольте мне объединить его, я чувствую хорошо, не так ли? –

1
startActivity (new Intent (Thisactivity.this, Nextactivity.class)); 

Не забудьте добавить активность в манифесте

<Activity android:name=".NextActivity> 
0

Во-первых, вам нужно создать пользовательский интерфейс для , используя файл макета intro_activity_1.XML. После этого набора идентификатора для кнопки группы с помощью андроида: ид = "@ + идентификатор/кнопка"

Пример:

intro_activity_1.xml

<Button android:id="@+id/button"  
android:layout_width="wrap_content"  
android:layout_height="wrap_content"  
android:layout_weight="1"  
android:background="@android:color/transparent"  
android:text="NEXT" /> 

Теперь измените Java класс первой деятельности. В этом примере мы меняем java-файл IntroActivity1.Java

Пример:

IntroActivity1.java

//header, import and package data 


public class IntroActivity1 extends AppCompatActivity { 


    Button next_btn; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.intro_activity_1); 

      next_btn=(Button)findViewById(R.id.button);//button class 

      next_btn.setOnClickListener(new View.OnClickListener(){ 
    public void onClick(View arg0){ 
     //Start new activity class 
       Intent myIntent=new Intent(IntroActivity1.this,IntroActivity2.class); 
      startActivity(myIntent); 
     } 
    }); 
} 

Более подробную информацию о деятельности чейнджера визита: https://answerdone.blogspot.com/2018/01/how-to-change-new-activity-in-android.html

Смежные вопросы