0

SQLite データベースからデータを読み込む ListFragment があり、消えたくない循環的な読み込みダイアログがあります。使っsetListShown(true);てみsetListShownNoAnimation(true);たが駄目。ローディングバー/スクリーン/ダイアログを画面に残したくありません。

ここに画像の説明を入力

私のフラグメントアクティビティ:

public class ListOverviewActivity extends FragmentActivity {

    DatabaseManager db;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_overview);
    }

    @Override
    public void onStart() {
        super.onStart();
        //db = new DatabaseManager(getApplicationContext());

        FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
        Fragment payListFragment = new PayListFragment();
        fragmentTransaction.replace(R.id.paylist_fragment, new PayListFragment());
        fragmentTransaction.show(payListFragment);

        fragmentTransaction.commit();

    }

マイリストフラグメント:

public class PayListFragment extends ListFragment {

    DatabaseManager db;
    ArrayList<PayList> lists;
    PayListAdapter pAdapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public PayListFragment() {

    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        db = new DatabaseManager(getActivity());
        lists = db.getAllLists();
        pAdapter = new PayListAdapter(getActivity(), lists);
        setListAdapter(pAdapter);

        registerForContextMenu(getListView());
        setListShown(true);
        setListShownNoAnimation(true);

    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
//      int group = (int) ExpandableListView.getPackedPositionForGroup((int) info.position);
//      int type = ExpandableListView.getPackedPositionType((int) info.position);
//      int child = ExpandableListView.getPackedPositionChild((int) info.position);

        menu.setHeaderTitle(lists.get(info.position).getTitle());

        menu.add(0, 0, 0, "Delete");
    }

    public boolean onContextItemSelected(MenuItem item) {

        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();

        switch (item.getItemId()) {
        case 0:
            Toast.makeText(getActivity(), "DEBUG: Deleting", Toast.LENGTH_SHORT).show();
            db.deleteList(lists.get(info.position));
            pAdapter.notifyDataSetChanged();
            setListAdapter(pAdapter);
            return true;
        }
        return false;
    }
}

そして私のxmlの一部:

<fragment
    android:id="@+id/paylist_fragment"
    android:name="android.support.v4.app.ListFragment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/relativeLayout2"
    android:visibility="gone"
    tools:layout="@layout/listview_list" />
4

2 に答える 2

0

代わりにこれをレイアウトで使用してください:

<fragment
    android:id="@+id/paylist_fragment"
    android:name="com.your.app.PayListFragment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/relativeLayout2"
    tools:layout="@layout/listview_list" />

android:visibility="gone"犯人だと思います。

于 2012-11-28T14:41:15.560 に答える
0

私はそれを解決しました。XML の Fragment の Class を PayListFragment クラスに手動で設定する必要があり、スピナーが消えました!

私のXMLレイアウトは今:

 <fragment
    android:id="@+id/paylist_fragment"
    android:name="android.support.v4.app.ListFragment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/relativeLayout2"
    class="com.name.billsplitter.PayListFragment"
    tools:layout="@layout/listview_list"/>
于 2012-11-29T09:06:14.960 に答える