sahandsamaneh
یک شنبه 06 اسفند 1391, 08:21 صبح
من در layout اصلی 3 تا FrameLayout دارم که در هرکدام یک Fragment جای میگیرد(
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/top_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/centerfragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/bottomfragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
3تا کلاس Fragment هم دارم که هر کدام یک layout جداگانه دارد
من میخواهم در onCreateView یکی از این Fragmentها بلافاصله پس از مقداردهی یک EditText متن TextViewی موجود در Fragment دیگر از طریق setText مقداردهی شود
برای این منظور با استفاده از کد زیر آن TextView را مقداردهی کرده ام
String str=editText.getText();
View v= inflater.inflate(R.layout.center_frame, null);
TextView enterTxtDate=(TextView) v.findViewById(R.id.Txt_Date);
enterTxtDate.setText(str);
اما تغییر ی در مقدار TextView در زمان اجرا مشاهده نمی شود!!!!
در سایت stackoverflow گفته شده باید View return در onCreateView نوشته شود تا تغییرات اعمال گردد اما در اینجا که در onCreateView باید View مربوط به همین Fragment جاری را return کنم نه view مربوط به Fragment دوم را
آیا کسی راه حل این مشکل را میداند؟
در اندروید 3 با استفاده از FragmentActivity و update میشود کاری انجام داد اما در اندروید4 چیزی پیدا نکردم
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/top_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/centerfragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/bottomfragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
3تا کلاس Fragment هم دارم که هر کدام یک layout جداگانه دارد
من میخواهم در onCreateView یکی از این Fragmentها بلافاصله پس از مقداردهی یک EditText متن TextViewی موجود در Fragment دیگر از طریق setText مقداردهی شود
برای این منظور با استفاده از کد زیر آن TextView را مقداردهی کرده ام
String str=editText.getText();
View v= inflater.inflate(R.layout.center_frame, null);
TextView enterTxtDate=(TextView) v.findViewById(R.id.Txt_Date);
enterTxtDate.setText(str);
اما تغییر ی در مقدار TextView در زمان اجرا مشاهده نمی شود!!!!
در سایت stackoverflow گفته شده باید View return در onCreateView نوشته شود تا تغییرات اعمال گردد اما در اینجا که در onCreateView باید View مربوط به همین Fragment جاری را return کنم نه view مربوط به Fragment دوم را
آیا کسی راه حل این مشکل را میداند؟
در اندروید 3 با استفاده از FragmentActivity و update میشود کاری انجام داد اما در اندروید4 چیزی پیدا نکردم