ورود

View Full Version : نمایش صفحه ساخته شده-activity دلخواه در master/detail برای تیلت به ازای هر ایتم لیست



hamed_hossani
چهارشنبه 18 تیر 1393, 14:42 عصر
سلام (حل شده)
می خواستم با master/details ترم افزار طراحی کنم.
چطور می تونم وقتی رو لیست کلیک می کنم activity که براش طراحی کردم رو در قسمت سمت راست نشون بدم.
من برای هر ایتم تو لیست(سمت چپ) می خوام یک activity تعریف کنم.که با انتخابش تو قسمت سمت راست نشون داده بشه!
جستجو کردم گقتن از طریق fragment میشه.
ولی چطور؟
http://developer.android.com/images/fundamentals/fragments.png

hamed_hossani
پنج شنبه 19 تیر 1393, 18:16 عصر
یافتم!
:متفکر:


چطور می تونم وقتی رو لیست کلیک می کنم activity که براش طراحی کردم رو در قسمت سمت راست نشون بدم.

اصلا موضوع activity مطرح نیست .
صفحات می بایست از Fragment مشتق بشه و layout به صورت معمول ساخته میشه!
public class HomeActivity extends Fragment {@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.activity_home, container,false);
return view;}
}
و در قسمت onCreateView مربوط به ItemDetailFragment.java کد زیر رو می نویسیم.
FragmentManager manager=getFragmentManager();
android.support.v4.app.FragmentTransaction transaction=manager.beginTransaction();
transaction.replace(R.id.item_detail_container, mItem.content);
transaction.commit();
ساختار کلاس dummyData به صورت زیر است:
public static class DummyItem { public String id;
public String name;
public Fragment content;


public DummyItem(String id, String name,Fragment content) {
this.id = id;
this.name=name;
this.content = content;
}


@Override
public String toString() {
return name;
}
}
بعدش
addItem(new DummyItem("1", "منو اصلی",new HomeActivity()));
وای که چقدر گشتم.
کله نتو زیرورو کردم
اخرش فهمیدم که باید از Fragment استقاده کنم.:تشویق: