คำถามติดแท็ก android-activity

คำถามเกี่ยวกับการสร้างหรือจัดการกิจกรรมใน Android ในแอปพลิเคชัน Android กิจกรรมคือส่วนประกอบที่ให้ส่วนต่อประสานกับผู้ใช้ที่อนุญาตให้ผู้ใช้ทำบางสิ่งบางอย่าง ตัวอย่างง่ายๆคือ: หมุนโทรศัพท์ถ่ายภาพส่งอีเมลหรือดูแผนที่

9
วิธีการส่งวัตถุที่สามารถจัดส่งพัสดุที่มีรายการวัตถุ
ฉันได้สร้างParcelableวัตถุด้านล่างวัตถุของฉันมีListผลิตภัณฑ์ ในตัวสร้างของฉันฉันจะจัดการกับการสร้างใหม่ParcelableสำหรับList? readArrayList(ClassLoader)ผมได้ตรวจสอบทุกวิธีการที่มีอยู่จากพัสดุและสิ่งที่สามารถใช้ได้คือ ฉันไม่แน่ใจว่านี่เป็นแนวทางที่ดีที่สุดหรือไม่คำแนะนำของคุณจะได้รับการชื่นชมอย่างแท้จริง public class Outfits implements Parcelable { private String url; private String name; private List<Product> products; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getName() { return name; } public void setName(String name) { this.name = name; …

12
วิธีเปิดกิจกรรมที่สองเมื่อคลิกปุ่มในแอพ Android
ฉันกำลังเรียนรู้ที่จะสร้างแอปพลิเคชัน Android และต้องการความช่วยเหลือบางอย่าง ดูเหมือนว่าฉันจะไม่เข้าใจว่าบิตของรหัสแม่แบบใดที่ฉันต้องเปลี่ยนและบิตใดเป็นแบบคงที่ ในโฟลเดอร์LAYOUTฉันมีACTIVITY_MAIN.XMLของฉันซึ่งอ่านได้ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/main_buttons_photos" /> </LinearLayout> ต่อไปฉันมีกิจกรรมที่สองACTIVITY_SEND_PHOTOS.XMLซึ่งก็คือ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="@string/hello_world" tools:context=".SendPhotos" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="@string/title_activity_send_photos" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout> จากนั้นฉันมีMainActivity.javaของฉัน(นี่คือ. class หรือไม่) …

19
วิธีป้องกันไม่ให้โหลดกิจกรรมสองครั้งเมื่อกดปุ่ม
ฉันพยายามป้องกันไม่ให้โหลดกิจกรรมซ้ำสองครั้งหากฉันกดปุ่มสองครั้งทันทีหลังจากคลิกครั้งแรก ฉันมีกิจกรรมที่โหลดเมื่อคลิกปุ่มพูด myButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { //Load another activity } }); ตอนนี้เนื่องจากกิจกรรมที่จะโหลดมีการเรียกเครือข่ายจึงต้องใช้เวลาเล็กน้อยในการโหลด (MVC) ฉันแสดงมุมมองการโหลดสำหรับสิ่งนี้ แต่ถ้าฉันกดปุ่มสองครั้งก่อนหน้านั้นฉันจะเห็นกิจกรรมที่กำลังโหลดสองครั้ง มีใครรู้วิธีป้องกันปัญหานี้หรือไม่?

4
เค้าโครงผู้ประสานงานพร้อมแถบเครื่องมือในส่วนย่อยหรือกิจกรรม
ด้วยไลบรารีการออกแบบใหม่มีเค้าโครงใหม่หลายแบบที่เปลี่ยนแปลงวิธีการทำงานของแถบเครื่องมืออย่างมากหากนักพัฒนาต้องการ เนื่องจากแฟรกเมนต์ที่แตกต่างกันมีพฤติกรรมและวัตถุประสงค์ที่แตกต่างกันตัวอย่างเช่นแฟรกเมนต์แกลเลอรีที่มีแถบเครื่องมือการยุบซึ่งแสดงรูปภาพที่สำคัญหรือส่วนที่ไม่มีมุมมองแบบเลื่อนที่ไม่จำเป็นต้องใช้แอพบาร์เลย์เอาต์สำหรับการซ่อนแถบเครื่องมือการมีแถบเครื่องมือเดียวในกิจกรรมสามารถทำได้ พิสูจน์ยาก. ด้วยเหตุนี้ฉันควรย้ายแถบเครื่องมือไปยังแต่ละส่วนหรือไม่ ถ้าเป็นเช่นนั้นฉันต้องตั้งค่า supportActionBar ทุกครั้งที่แสดงแฟรกเมนต์และยังมีการอ้างอิงของกิจกรรมในแฟรกเมนต์ซึ่งจะลบล้างลักษณะอิสระของแฟรกเมนต์ ถ้าฉันปล่อยแถบเครื่องมือไว้ในกิจกรรมเพียงอย่างเดียวฉันต้องมีเค้าโครงหลายแบบที่กำหนดไว้สำหรับพฤติกรรมแต่ละประเภทในแต่ละส่วน แนวทางที่ดีที่สุดคืออะไร?

6
จะเพิ่มตัวคั่นส่วนหนึ่งสำหรับ Navigation Drawer ใน Android ได้อย่างไร
ฉันมีลิ้นชักการนำทางเหมือนภาพนี้ ฉันต้องการเพิ่มตัวคั่นส่วน (เช่นเส้นคั่นดาวเนปจูน) ดูเหมือนง่าย แต่ฉันไม่พบสิ่งใดในเว็บที่เป็นประโยชน์สำหรับกรณีของฉัน นี่คือ MainActivity ของฉัน: public class MainActivity extends Activity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private CharSequence mDrawerTitle; private CharSequence mTitle; private String[] mPlanetTitles; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTitle = mDrawerTitle = getTitle(); mPlanetTitles = getResources().getStringArray(R.array.planets_array); mDrawerLayout = …

29
จะออกจากแอพ Android โดยใช้โปรแกรมได้อย่างไร?
ฉันแน่ใจว่าคำถามนี้ถูกถามหลายครั้งเพราะฉันอ่านไม่กี่ครั้ง ลูกค้าของฉันต้องการให้ฉันใส่ปุ่มลงในแอปของเขาซึ่งผู้ใช้สามารถคลิกและออกได้ ฉันได้อ่านสิ่งนี้และพบว่าการโทรfinish()จะทำได้ แต่การเสร็จสิ้นเป็นเพียงการปิดกิจกรรมการวิ่งปัจจุบันใช่ไหม ฉันมีกิจกรรมมากมายดังนั้นในกรณีนี้ฉันต้องผ่านอินสแตนซ์ของแต่ละกิจกรรมและทำให้เสร็จหรือทำให้ทุกกิจกรรมเป็นรูปแบบซิงเกิลตัน ฉันยังต้องรู้ว่าActivity.moveTaskToBack(true)คุณสามารถเข้าสู่หน้าจอหลักได้ ตกลงนี่ไม่ใช่การปิด แต่เป็นเบื้องหลังกระบวนการ มันมีประสิทธิภาพหรือไม่? ฉันควรใช้วิธีใดในการปิดแอปให้สมบูรณ์ มีคำอธิบายข้างต้นหรือวิธีการอื่นใด / การใช้วิธีการอื่น ๆ ข้างต้นหรือไม่?

9
จะรับฟังการเปลี่ยนแปลงความชอบภายใน PreferenceFragment ได้อย่างไร
ตามที่อธิบายไว้ที่นี่ฉันกำลังคลาสย่อย PreferenceFragment และแสดงไว้ในกิจกรรม เอกสารนั้นจะอธิบายวิธีการรับฟังการเปลี่ยนแปลงค่ากำหนดที่นี่แต่เฉพาะในกรณีที่คุณซับคลาส PreferenceActivity เนื่องจากฉันไม่ได้ทำอย่างนั้นฉันจะรับฟังการเปลี่ยนแปลงความชอบได้อย่างไร ฉันได้ลองใช้ OnSharedPreferenceChangeListener ใน PreferenceFragment แล้ว แต่ดูเหมือนจะไม่ได้ผล ( onSharedPreferenceChangedดูเหมือนจะไม่ได้รับการเรียก) นี่คือรหัสของฉันจนถึงตอนนี้: SettingsActivity.java public class SettingsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit(); } } SettingsFragment.java public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener …

5
onActivityResult () เรียกว่าก่อนกำหนด
ฉันเริ่มต้นActivity(ผู้สืบทอดPreferenceActivity) จากกิจกรรมคนงานของฉันดังนี้: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1458) loadInfo(); } void showSettingsDialog() { startActivityForResult(new Intent().setClass(this, MyConfigure.class), 1458); } MyConfigureชั้นเรียนไม่มีsetResult()สายใด ๆ ในความเป็นจริงMyConfigureชั้นไม่ได้มีรหัสใด ๆ ยกเว้นที่มันโหลดการตั้งค่าการใช้OnCreate()addPreferencesFromResource ตอนนี้onActivityResultเรียกว่ามีrequestCodeของ1458ก่อนกำหนดหลังจากMyConfigureกิจกรรมเป็นระยะ ทดสอบกับ 1.6 และ 2.1 อีมูเลเตอร์รวมถึงอุปกรณ์ 2.1 มีการโทรไปsetResult()ฝังที่ไหนสักแห่งPreferenceActivityไหม? หรือจะอธิบายการโทรก่อนกำหนดนี้ได้อย่างไร?

5
กิจกรรมการปิด Android แบบเป็นโปรแกรม
อะไรคือการดำเนินการที่เทียบเท่ากันภายในกิจกรรมในการนำทางออกจากหน้าจอ เช่นเดียวกับเมื่อคุณกดปุ่มย้อนกลับกิจกรรมจะไม่อยู่ในมุมมอง จะเรียกสิ่งนี้จากภายในกิจกรรมได้อย่างไรเพื่อให้มันปิดตัวเอง


7
เริ่มกิจกรรมจากส่วนย่อย
ฉันมีชิ้นส่วน 2 ชิ้นโดยมีปุ่มทั้งสองชิ้น เมื่อฉันกดปุ่มฉันต้องการเริ่มกิจกรรมใหม่ แต่ฉันไม่สามารถทำให้มันทำงานได้ ข้อผิดพลาดที่ฉันได้รับ: ERROR ที่นี่: พิมพ์ไม่ตรงกัน: ไม่สามารถแปลงจาก mFragmentFavorite เป็น Fragment ผมทำอะไรผิดหรือเปล่า? MyFragmentPagerAdapter import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ final int PAGE_COUNT = 3; /** Constructor of the class */ public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } /** This method will be invoked when …

4
เปิดแอปพลิเคชัน Android โดยไม่มีกิจกรรมหลักและเริ่มบริการเมื่อเปิดแอปพลิเคชัน
ฉันมีสถานการณ์ต่อไปนี้ในแอปพลิเคชันของฉัน ไม่มี UI ในแอปพลิเคชันของฉัน แทนที่จะเป็นบริการที่เริ่มต้นในการบูตเครื่องและจะทำงานอย่างต่อเนื่อง ฉันจะกำหนดค่าไฟล์รายการโดยไม่มีกิจกรรมหลักได้อย่างไร ฉันสามารถเปิดแอปโดยไม่มีกิจกรรมได้หรือไม่? และเมื่อเปิดตัวแอปบริการของฉันควรเริ่มต้น เป็นไปได้หรือไม่ ฉันไม่ต้องการสร้างกิจกรรมโปร่งแสงเพื่อเริ่มใช้บริการ

9
จะนำกิจกรรมไปยังเบื้องหน้า (ด้านบนของกองซ้อน) ได้อย่างไร?
ใน Android ฉันกำหนดกิจกรรม ExampleActivity เมื่อใบสมัครของฉันได้รับการเปิดตัวเป็นตัวอย่างของนี้ AA-กิจกรรมสร้างบอกว่ามันเป็น เมื่อผู้ใช้คลิกปุ่มในAB-Activity อื่น B ​​ถูกสร้างขึ้น ตอนนี้กองงานคือ BA โดยที่ B อยู่ด้านบน จากนั้นผู้ใช้คลิกปุ่มบน B สร้าง C-Activity อื่นและ C ถูกสร้างขึ้น ตอนนี้กองงานคือ CBA โดยมี C อยู่ด้านบน ตอนนี้เมื่อผู้ใช้คลิกปุ่มบน C ฉันต้องการให้แอปพลิเคชันนำ A ไปที่พื้นหน้าเช่นทำให้ A อยู่ที่ด้านบนสุดของกองงาน ACB ฉันจะเขียนโค้ดให้มันเกิดขึ้นได้อย่างไร?

4
Android - ตัวสร้างกิจกรรมเทียบกับ onCreate
ฉันเข้าใจว่า Android Activitiesมีวงจรชีวิตที่เฉพาะเจาะจงและonCreateควรถูกลบล้างและใช้สำหรับการเริ่มต้น แต่จะเกิดอะไรขึ้นในตัวสร้าง? มีกรณีใดบ้างที่คุณสามารถ / ควรแทนที่ตัวActivityสร้างด้วยหรือคุณไม่ควรแตะต้องมัน? ฉันสมมติว่าไม่ควรใช้ตัวสร้างเนื่องจากการอ้างอิงถึงActivitiesไม่ได้รับการทำความสะอาดทั้งหมด (จึงขัดขวางตัวเก็บขยะ) และนั่นonDestroyก็เพื่อจุดประสงค์ ถูกต้องหรือไม่

4
การใช้ startActivityForResult วิธีรับ requestCode ในกิจกรรมลูก
ฉันมีกิจกรรมสี่อย่างพูดว่า A, B, C และ D สถานการณ์ของฉันคือ A จะเริ่มกิจกรรม B โดย startActivityForResult startActivityForResult(new Intent(this,B.class),ONE); ในสถานการณ์อื่นฉันจะ B กับสถานการณ์อื่น ชอบ startActivityForResult(new Intent(this,B.class),TWO); ใน B ฉันต้องเรียก C หรือ D ขึ้นอยู่กับ requestCode คือถ้าต้องเริ่ม C else D. ดังนั้นฉันต้องรู้วิธีตรวจสอบ requestCode ในกิจกรรมลูก (B ที่นี่) กล่าวอีกนัยหนึ่งคือฉันต้องการรับรหัสคำขอที่กิจกรรม B เริ่มต้นด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.