كيفية التنقل من شاشة واحدة إلى شاشة أخرى
-
12-09-2019 - |
سؤال
كيفية التنقل من شاشة نشاط واحدة إلى شاشة نشاط أخرى؟ في الشاشة الأولى، أحصل على زر واحد إذا قمت بالنقر فوق الزر، يجب أن ينتقل إلى شاشة نشاط أخرى.
المحلول
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()
هل تريد الانتقال من نشاط إلى آخر ثم -
liffactivity. - هذا هو نشاطك الحالي الذي تريد الذهاب إليه النشاط الثاني.
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 - بدء نشاط آخر