Как спроектировать мультипан с 3-мя фрагментами с помощью Android-PanesLibrary?

Добрый день, разработчики, я уже реализую эту фантастическую библиотеку под названием "Android-PanesLibrary" Кенрика Райли. и то, что я хочу достичь, это что-то вроде этого.

введите описание изображения здесь

Но в итоге я делаю так:

введите описание изображения здесь

Моя первая проблема, если в методе showDetails я удаляю символ комментария, появится сообщение об ошибке. но если я сделаю метод пустым, он будет работать так же, как второе изображение.

Моя цель, как это можно сделать, просто используя данные строкового массива?

Любые идеи или помощь будет принята с благодарностью.

Среда: Windows 7, Android Studio, Genymotion.

Это MainMenuFragment.java:

public class MainMenuFragment extends android.app.ListFragment {

private static int sExampleNum = 0;
protected final String TAG = "mainmenuFragment" ;

@ViewById(R.id.menu_listview)
protected ListView menuListView ;
private View parentView;
int mCurCheckPosition = 0;

public MainMenuFragment() {
    super();
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    Resources res = getResources();
    String [] mainmenulistview = res.getStringArray(R.array.listview_main_menu);
    ArrayAdapter<String> connectArrayToListView = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_activated_1,mainmenulistview);
    setListAdapter(connectArrayToListView);
    if (savedInstanceState != null) {
        mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
    }
    getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    showDetails(mCurCheckPosition);
}

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("curChoice", mCurCheckPosition);
}

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    showDetails(position);
}

// if I un-comment on method bellow, it will result an error. 

void showDetails(int index) {

    //mCurCheckPosition = index;
    //getListView().setItemChecked(index, true);
    //PCDesktopFragment_ pcDesktop = (PCDesktopFragment_) getFragmentManager().findFragmentById(R.id.sub_one_fragment);
    //if (pcDesktop == null || pcDesktop.getShownIndex() != index) {
    //    welder_pipe_reg = PCDesktopFragment_.newInstance(index);
    //    android.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
    //    ft.replace(R.id.sub_one_fragment, pcDesktop);
    //    ft.commit();
    //}
}
}

а затем я уже создаю класс с именем PCDesktopFragment.java, который расширяет ListFragment (это должно отображаться на втором фрагменте с использованием listfragment)

@EFragment(R.layout.sub_one_menu)
public class PCDesktopFragment_ extends ListFragment {

View v;
public static int i;

public static PCDesktopFragment_ newInstance(int index){
    PCDesktopFragment_ f = new PCDesktopFragment_();
    Bundle args = new Bundle();
    args.putInt("index", index);
    index = i;
    f.setArguments(args);
    return f;
}

public int getShownIndex() {
    return getArguments().getInt("index", 0);
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    inflater.inflate(R.layout.sub_one_menu, container, false);
    return super.onCreateView(inflater, container, savedInstanceState);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (i == 0) {
        String [] sub_a = {"Test1","Test2"};
        setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, sub_a));
    }
}

//@ItemClick(R.id.sub_one_listview)
//protected void handleDomainClick(int position) {
//    Fragment f = null ;
//    if (position == 0) {
//        f = new PCDesktopFragment_();
//    }
//    Activity a = getActivity();
//    if (f != null && a != null && a instanceof FragmentLauncher)
//        ((FragmentLauncher) a).addFragment(this, f);
//}
}

0 ответов

Другие вопросы по тегам