PDA

View Full Version : مشکل در استفاده از فرگمنت در اکتیویتی



dalmif
جمعه 25 اردیبهشت 1394, 10:19 صبح
سلام دوستان.
ببخشید من دیدم برخی از دوستان هم چنین مشکلی رو دارند بعد خودم هم این مشکل رو دارم:
وقتی از فرگمنت استفاده میکنم در اکتیویتی که داره از فرگمنت استفاده میکنه می خوام مثلا عکسی رو ست کنم اما چون توی فرگمنت هست باید برم توی fragment.java و از اونجا ست کنم اما می خوام که توی همون صفحه کارایی که باید توی فرگمنت انجام بشه رو انجام بدم.
ممنون.

tux-world
جمعه 25 اردیبهشت 1394, 11:43 صبح
سوالتون خیلی خیلی کلی هستش و جوابی نمیشه داد مگر اینکه بگید دقیقا چی میخوایید

dalmif
جمعه 25 اردیبهشت 1394, 11:54 صبح
ببخشید نتونستم منظورم رو درست بگم
می خوام از توی هر اکیتویتی، ویو های فرگمنت رو تغییر بدم.

tux-world
جمعه 25 اردیبهشت 1394, 12:34 عصر
ویو؟ یعنی خودتون ویو بسازید؟ بازهم کلی هستش. ریز تر اشاره کنید

dalmif
جمعه 25 اردیبهشت 1394, 13:09 عصر
مثال بزنم درست میشه:
من یه فایل xml دارم به نام activity_main.xml و همین فایل یک فایل جاوا با نام mainActivity.java داره.
حالا یک فرگمنت ساختم با نام fragment.xml و یه فایل جاوا با نام fragment.java. خب؟
حالا توی فایل فرگمنت یک اسلایدر دارم که می خوام عکس توش بزارم.
آدرس عکس ها توی فایل mainActivity هست حالا من می خوام توی فرگمنت تصاویر رو ست کنم.
و حتما هم می خوام از توی فایل mainActivity.java تصاویر رو بر روی اسلایدری که توی فرگمن هست ست کنم.
باید از چه کدی استفاده کنم؟؟؟

atpf67
جمعه 25 اردیبهشت 1394, 17:55 عصر
سلام بزرگوار

روش استاندارد ارسال داده به fragment و دریافت در اون سمت استفاده از دستورات put و get هست:

مثال:

سمت کلاس ارسال کننده:
Bundle bundle =newBundle();

bundle.putString("edttext","From Activity");

// set Fragmentclass Arguments

Fragmentclass fragobj =newFragmentclass();

fragobj.setArguments(bundle);


سمت فرگمنت:

@Override

publicView onCreateView(LayoutInflater inflater,ViewGroup container,

Bundle savedInstanceState){

String strtext = getArguments().getString("edttext");

return inflater.inflate(R.layout.fragment, container,false);

}

dalmif
جمعه 25 اردیبهشت 1394, 18:21 عصر
سلام.
خیلی ممنون.
ولی من اینطوری استفاده میکنم که برای فرگمنت یک فایل xml می سازم و بعد براش یک فایل java و در xml صفحه اصلی از کد زیر استفاده مکینم:


<fragment
android:id="@+id/Slider_Fragment"
android:name="com.example.posation.Slider_Fragent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/Search_Fragment"
android:layout_weight="1" />

حالا باید چه کار کنم؟؟؟
یعنی نمیتونم این کد رو استفاده کنم


Fragmentclass fragobj =newFragmentclass();

fragobj.setArguments(bundle);

چون توی xml اصلی ارجاع دادم.
اونطوری که شما نوشتی چطوریه؟؟؟

#root#
جمعه 25 اردیبهشت 1394, 18:56 عصر
مثال بزنم درست میشه:
من یه فایل xml دارم به نام activity_main.xml و همین فایل یک فایل جاوا با نام mainActivity.java داره.
حالا یک فرگمنت ساختم با نام fragment.xml و یه فایل جاوا با نام fragment.java. خب؟
حالا توی فایل فرگمنت یک اسلایدر دارم که می خوام عکس توش بزارم.
آدرس عکس ها توی فایل mainActivity هست حالا من می خوام توی فرگمنت تصاویر رو ست کنم.
و حتما هم می خوام از توی فایل mainActivity.java تصاویر رو بر روی اسلایدری که توی فرگمن هست ست کنم.
باید از چه کدی استفاده کنم؟؟؟

حداقل سه راه دارید:

استفاده از متد static (البته این مورد رو با شک میگم)
ایجاد Listener با کمک interface مثال (http://techblogon.com/communication-between-activity-and-fragment-example/)
استفاده از Event Bus (کتابخونست)