我已经创建了一个扩展BaseAdapter的CustomAdapter类(因此我无法将该类扩展到Fragment)。

CustomAdapter类中,我创建带有项目的自定义ListView。单击Uppon按钮我想再去一个片段。

正在MyLocationFragment.java中初始化CustomAdapter类。在此片段中,我为用户提供了从ListView中选择一个项目的功能,当用户单击Button(位于TextView / Item旁边)时,我想转到HomeScreenFragment并使用TextView中存储的值对按钮进行一些操作属于(相同的位置)。

MyLocationFragment(在这种情况下,重要的部分,否则太大):

if(adminMode) {
            ArrayList<String> data = new ArrayList<>(Arrays.asList(locationsArray));
            CustomAdapter adapter = new CustomAdapter(data, getActivity());

            // Assign adapter to ListView
            listView.setAdapter(adapter);

        }


CustomAdapter.java(部分用于侦听器):

holder.localData.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        fMyLocation = new MyLocationFragment();
        // Store selected values into Strings and pass them to setter method
        String selectedLocation = (String) holder.items.getText().toString();
        String [] locationsArrayValues = v.getResources().getStringArray(R.array.locations_array_value);
        String selectedLocationUrl = locationsArrayValues[position];
        fMyLocation.setInputLocation(selectedLocation);
        fMyLocation.setInputLocationUrl(selectedLocationUrl);

        FragmentActivity myContext;

        // On Item Click, go to the HomeScreen
        Fragment fragment = new HomeScreenFragment();
        FragmentManager fManager = myContext.getSupportFragmentManager();
        FragmentTransaction fTransaction = fManager.beginTransaction();
        fTransaction.replace(R.id.fragment_holder, fragment);
        fTransaction.commit();






    }
});


上面的代码进入Cannot Resolve getFragmentManager();

知道如何从非Fragment类进入HomeScreenFragment吗?

任何帮助将不胜感激。

最佳答案

您应该做的是在实现BaseAdapter的类中为Context创建一个字段,并使用该字段代替您所做的事情。该字段的初始化将通过构造函数完成。

10-08 16:06