Подтвердить что ты не робот

Вызов одного действия с другого в Android

Как я могу вызвать другое действие из одной (текущей) активности?

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

4b9b3361

Ответ 1

Первый вопрос:

Используйте намерение для вызова другого действия. В манифесте вы должны добавить

<activity android:name="ListViewImage"></activity>
<activity android:name="com.company.listview.ListViewImage">
</activity>

И в вашей текущей деятельности

btListe = (ImageButton)findViewById(R.id.Button_Liste);
    btListe.setOnClickListener(new OnClickListener()
    {    public void onClick(View v)
        {
            intent = new Intent(main.this, ListViewImage.class);
            startActivity(intent);
            finish();
        }
    });

Второй вопрос:

sendButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            String valueString = editValue.getText().toString();
            long value;
            if (valueString != null) {
                value = Long.parseLong(valueString);
            }
            else {
                value = 0;
            }

            Bundle sendBundle = new Bundle();
            sendBundle.putLong("value", value);

            Intent i = new Intent(Activity1.this, Activity2.class);
            i.putExtras(sendBundle);
            startActivity(i);

            finish();
        }
    });

и в Activity2:

 Bundle receiveBundle = this.getIntent().getExtras();
    final long receiveValue = receiveBundle.getLong("value");
    receiveValueEdit.setText(String.valueOf(receiveValue));
    callReceiverButton.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent(Activity2.this, Receiver.class);
            i.putExtra("new value", receiveValue - 10);
        }
    });

Ответ 2

проверьте следующий код, чтобы вызвать одно действие из другого.

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

Ответ 3

Я использовал следующий код в своем примере приложения для запуска новой активности.

Button next = (Button) findViewById(R.id.TEST);
next.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        Intent myIntent = new Intent( view.getContext(), MyActivity.class);
        startActivityForResult(myIntent, 0);
    }
});

Ответ 4

Поскольку мы не знаем, какие имена ваших классов деятельности, позвольте называть текущую активность Activity1 и тот, который вы хотите открыть, - Activity2 (это имена классов)

Сначала вам нужно определить намерение, которое будет отправлено на Activity2:

Intent launchActivity2 = new Intent(Activity1.this, Activity2.class);

Затем вы можете просто запустить действие, выполнив:
  startActivity (launchActivity2);

Ответ 5

Добавьте следующее к событию нажатия кнопки:

Intent intent = new Intent(First.this, Second.class);
startActivity(intent);
finish();

Ответ 6

Эта задача может быть выполнена с использованием одного из основных строительных блоков андроида, называемого Intents, и одного из методов public void startActivity (Intent intent), принадлежащего вашему классу Activity.

Цель - абстрактное описание выполняемой операции. Он может использоваться с startActivity для запуска Activity, broadcastIntent для отправки его любым заинтересованным компонентам BroadcastReceiver и startService (Intent) или bindService (Intent, ServiceConnection, int) для связи с фоновым сервисом.

Anent обеспечивает средство для выполнения поздней привязки во времени между кодом в разных приложениях. Его наиболее значимое использование - это начало деятельности, где ее можно рассматривать как клей между действиями. Это в основном пассивная структура данных, содержащая абстрактное описание действия, которое необходимо выполнить.

Обратитесь к официальным документам - http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) - Используется для запуска нового действия.

Итак, предположим, что у вас есть два класса Activity и на кнопке нажмите OnClickListener(), вы хотите перейти от одного действия к другому, а затем -

  • PresentActivity. Это ваша текущая деятельность, из которой вы хотите перейти во вторую активность.

  • NextActivity. Это ваше следующее действие, на которое вы хотите переместить (оно может содержать все, что вы говорите в диалоговом окне).

Итак, намерение будет таким:

Intent(PresentActivity.this, NextActivity.class)

Наконец, это будет полный код

  public class PresentActivity extends Activity {
        protected void onCreate(Bundle icicle) {
            super.onCreate(icicle);

            setContentView(R.layout.content_layout_id);

            final Button button = (Button) findViewById(R.id.button_id);
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    // Perform action on click   

                    Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class);

                    // currentContext.startActivity(activityChangeIntent);

                    PresentActivity.this.startActivity(activityChangeIntent);
                }
            });
        }
    }

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

Ответ 7

Поместите это внутри метода onCreate() MainActivity1.java

Button btnEins = (Button) findViewById(R.id.save);
        btnEins.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                Intent intencion = new Intent(v.getContext(),MainActivity2.class );     
                startActivity(intencion);
            }

        });

Ответ 8

Я реализовал этот способ, и он работает. Это намного проще, чем все, что сообщается.

У нас есть два вида деятельности: один - основной, а второй - вторичный.

Во вторичной активности, где мы хотим завершить основное действие, определите следующую переменную:

public static Activity ACTIVIDAD;

И затем следующий метод:

public static void enlaceActividadPrincipal(Activity actividad) 
{
    tuActividad.ACTIVIDAD=actividad;
}

Затем в вашем основном действии с помощью метода onCreate вы вызываете вызов:

    actividadSecundaria.enlaceActividadPrincipal(this);

Теперь вы контролируете ситуацию. Теперь, из вашей вторичной деятельности, вы можете завершить основное мероприятие. Закончите вызов функции, например:

ACTIVIDAD.finish();

Ответ 9

Следующий код демонстрирует, как вы можете начать другое действие с помощью намерения.

Запустите действие с намерением, связанным с указанным классом

Intent i = new Intent(this, ActivityTwo.class);
startActivity(i);

Действия, которые запускаются другими действиями Android, называются суб-мероприятиями. Эта формулировка облегчает описание того, что означает деятельность.

Ответ 10

проверьте следующий код, чтобы открыть новую функцию.

Intent f = new Intent (MainActivity.this, SecondActivity.class);

startActivity (е);

Ответ 11

Самый простой способ назвать одно действие другим

startActivity( new Intent( getApplicationContext(), YourActivity.class ) );