سؤال

كيفية التنقل من شاشة نشاط واحدة إلى شاشة نشاط أخرى؟ في الشاشة الأولى، أحصل على زر واحد إذا قمت بالنقر فوق الزر، يجب أن ينتقل إلى شاشة نشاط أخرى.

هل كانت مفيدة؟

المحلول

OnClickListener onClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(action));
    }
};

Button button = (Button) findViewById(id);
button.setOnClickListener(onClickListener);

نصائح أخرى

القضية الأكثر تافهة (تسمى من النشاط):

startActivity(new Intent(this, ActivityToLaunch.class));

مزيد من التفاصيل هنا: http://developer.android.com/guide/topics/fundamentals.html.

Button x.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) 
                {
                    Intent i = new Intent(y.this, Activity.class);
                    startActivity(i);                   
                }
        });

هنا حددنا المستمع للزر x. سيتصل نظام التشغيل بهذه الطريقة وبدء النشاط المشار إليه في النية الأولى.

إليك المثال التعليمي الرسمي:http://developer.android.com/guide/tutorials/notepad/notepad-ex2.html

Button btn = (Button)findViewById(R.id.button1);

btn.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {      

        startActivity(new Intent(TestActivity.this,second.class));

    }
});
public void onClick(View v) 
{
    Intent myintent = new Intent(currentclass.this, nextactivity.class);
    startActivity(myintent);                               
}
final Context cont = this;
Button btnClickABC =(Button)findViewById(R.id.btnClickABC);
btnClickABC.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {                   
                startActivity(new Intent(cont, NextActivity.class));

            }
        });

يمكن تحقيق هذه المهمة باستخدام إحدى كتلة المبنى الرئيسية ل Android المسماة كعواوى وواحدة من الأساليب public void startActivity (Intent intent) الذي ينتمي إلى فئة نشاطك.

النية هو وصف مجردة للعملية التي يتعين القيام بها. يمكن استخدامه مع بدء النشاط لإطلاق نشاط، وإبراز بنستينتس لإرساله إلى أي مكونات مهتمة BroadCastReceiver، و StartService (نية) أو Bindservice (نية، Serviceconnection، Int) للتواصل مع خدمة خلفية.

توفر النية منشأة لأداء ملزمة وقت التشغيل المتأخر بين التعليمات البرمجية في تطبيقات مختلفة. إن استخدامها الأكثر أهمية هو في إطلاق الأنشطة، حيث يمكن اعتبارها الغراء بين الأنشطة. إنه أساسا هيكل بيانات سلبية يحمل وصفا مجرزا للعمل الذي سيتم إجراؤه.

إحالة المستندات الرسمية - http://developer.android.com/Reference/Android/Content/Intent.html.

public void startActivity (Intent intent) - تستخدم لإطلاق نشاط جديد.

لذا ففترض أن لديك فئة نشاطا ونقر فوق زر OnClickListener() هل تريد الانتقال من نشاط إلى آخر ثم -

  1. liffactivity. - هذا هو نشاطك الحالي الذي تريد الذهاب إليه النشاط الثاني.

  2. exflactivity. - هذا هو نشاطك التالي الذي تريد نقله.

لذلك سيكون النية مثل هذا

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() في أي مكان تريد التبديل بين أنشطتك.

استخدم الكود التالي .. آمل أن يساعدك ذلك.

 Button button = (Button)findViewById(R.id.xxx);
    button .setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
        Intent intent=new Intent(CurrentActivity.this,NextActivity.class);
        startActivity(intent);
        }
    });

XXX. هو معرف من XML الخاص بك من الزر الخاص بك.

startActivity(new Intent(this,newActivity.class));

التبديل من نشاط واحد إلى آخر بسيط حقا، ولكن صعبة واحدة جديدة. يجب تعريف الفصل التالي الخاص بك AndroidManifest.xml. وبعد هذا هو فئة اختبار:

<activity
  android:name=".Tester"
  android:label="@string/title_activity_tester" >`enter code here`
</activity>


final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id 
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Intent i = new Intent(CurrentClass.this, Tester.class);
        startActivity(i);
    }

يمكنك الانتقال إلى الشاشة التالية باستخدام مقتطفات التعليمات البرمجية هذه:

كوتين

startActivity(Intent(this, LoginActivity::class.java))

جاوة

startActivity(new Intent(this, LoginActivity.class))

إليك مرجع: مطورو Android - بدء نشاط آخر

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top