我已经创建了一个扩展BaseAdapter的CustomAdapter类(因此我无法将该类扩展为Fragment)。
在CustomAdapter
课程中,我使用项目创建自定义ListView
。点击Uppon按钮我想去另一个片段。
CustomAdapter类正在MyLocationFragment.java
中初始化。在这个Fragment中,我提供用户从ListView中选择一个Item,当用户单击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
?
任何帮助将不胜感激。
答案 0 :(得分:0)
你应该做的是在实现BaseAdapter
的类中为Context
创建一个字段并使用它来代替你所做的。该字段的初始化将通过构造函数完成。