Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะส่งตัวแปรจาก Activity ไปยัง Fragment ใน Android ได้อย่างไร?


ตัวอย่างนี้สาธิตวิธีการส่งตัวแปรจากกิจกรรมไปยัง Fragment ใน Android

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

  <ปุ่ม android:id="@+id/btnSendData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send data" />  

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

<ก่อนหน้า>นำเข้า android.support.v4.app.FragmentManager;นำเข้า android.support.v4.app.FragmentTransaction;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.os.Bundle;นำเข้า android.view.View; นำเข้า android.widget.Button นำเข้า android.widget.EditText คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { EditText editText; ปุ่มปุ่ม; @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); FragmentManager fragmentManager =getSupportFragmentManager (); สุดท้าย FragmentTransaction fragmentTransaction =fragmentManager.beginTransaction (); สุดท้าย MyFragment myFragment =MyFragment ใหม่ (); ปุ่ม =findViewById(R.id.btnSendData); editText =findViewById(R.id.editText); button.setOnClickListener (View.OnClickListener ใหม่ () { @แทนที่โมฆะสาธารณะ onClick (ดู v) { Bundle b =ชุดใหม่ (); b.putString ("ข้อความ", editText.getText ().toString ()); myFragment setArguments(b); fragmentTransaction.add(R.id.frameLayout, myFragment).commit(); } }); }}

ขั้นตอนที่ 4 – สร้างกิจกรรมส่วนใหม่และเพิ่มรหัสต่อไปนี้ -

MyFragment.java -

นำเข้า android.os.Bundle;นำเข้า android.support.v4.app.Fragment;นำเข้า android.view.LayoutInflater;นำเข้า android.view.View;นำเข้า android.view.ViewGroup;นำเข้า android.widget.TextView;สาธารณะ คลาส MyFragment ขยาย Fragment { TextView textView; MyFragment สาธารณะ () { } @Override public View onCreateView (LayoutInflater inflater, คอนเทนเนอร์ ViewGroup, Bundle saveInstanceState) { View view =inflater.inflate (R.layout.fragment_my, คอนเทนเนอร์, เท็จ); textView =view.findViewById (R.id.textView); บันเดิลบันเดิล =getArguments(); ข้อความสตริง =bundle.getString("ข้อความ"); textView.setText (ข้อความ); มุมมองย้อนกลับ; }}

fragment_my.xml -

 

ขั้นตอนที่ 5 - เพิ่มรหัสต่อไปนี้ใน androidManifest.xml

     <หมวดหมู่ android:name=" android.intent.category.LAUNCHER" />  

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ –

จะส่งตัวแปรจาก Activity ไปยัง Fragment ใน Android ได้อย่างไร?