0

これは、xml レイアウトを使用してフラグメントを開く最初のフラグメントです

public class ListFrag extends SherlockFragment implements OnItemClickListener
{
    Context c;
    List<ReferalRow> referal_RowItems;
    DoctorDaoImpl doctorDao;
    DoctorServiceImpl service;
    DoctorValidator doctorValidator;
    View layoutView;
    ListView doctoListView;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        layoutView = inflater.inflate(R.layout.activity_refer_mangmnt, null);
        return layoutView;
    }

これは私のactivity_refer_mangmnt.xmlです

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
   android:padding="5dp" >

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" 
        android:layout_weight="2"

        android:padding="2dp">
    <ListView
        android:id="@+id/listView_refer_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="1dp"
        android:divider="@android:color/black"
        android:choiceMode="singleChoice"
        android:listSelector="@drawable/list_selector" />
    </LinearLayout>
<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/rightpanel_back">
 <fragment
     android:id="@+id/detail_fragment"
     android:tag="detailfrag"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     class="com.example.app1.DetailsFrag" />
 </LinearLayout>
`</LinearLayout>

これが私の DetailFrag クラスです

public class DetailsFrag extends SherlockFragment
{
    ExpandableListView detailList;
    TextView tvMessage;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    contentView = inflater.inflate(R.layout.activity_refer_view, null);
    detailList = (ExpandableListView) contentView.findViewById(R.id.ep_detail_view);
    tvMessage = (TextView)contentView.findViewById(R.id.tv_textView);
    return contentView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);
    if(id==0)
    {
        detailList.setVisibility(View.GONE);
        tvMessage.setText("Click on the item on the left panel to view the details");
    }
    else
    {
        detailList.setVisibility(View.VISIBLE);
        tvMessage.setVisibility(View.GONE);
}

これは、LIstFrag の onItem クリック リスナーです。

FragmentTransaction ft = getFragmentManager().beginTransaction();
        Fragment lastFrag = getFragmentManager().findFragmentByTag("detailfrag");
        if(lastFrag!=null)
        ft.remove(lastFrag);
        Fragment fragment = Fragment.instantiate(c, DoctorDetailsFrag.class.getName(),arguments);
        ft.replace(R.id.detail_fragment, fragment);
        ft.commit();

リスト内のアイテムをクリックした後、右側のパネルにメッセージを表示したいのですが、そのメッセージを消したいのです。ただし、ここではメッセージはフラグメントから削除されません。新しいフラグメントの背景に表示されます。そうですか?

4

1 に答える 1