Gar*_*eld 8 java android android-fragments
有Activity继承ActoinBarActivity,它NavigationDrawer通过点击其元素打开片段来描述sidebar().在其中一个片段中listView,通过单击我想要打开另一个片段的项目(员工 - 员工列表 - 员工数据).但我是一个错误
不兼容的类型:必需:Android.app.Fragment找到:com.abc.app.EmployeeDetails
public class MyEmployeeFragment extends Fragment {
//some code
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
userList = new ArrayList<User>();
sAdapter = new CustomAdapter(getActivity(),userList);
View rootView = inflater.inflate(R.layout.my_employe, container, false);
ListView lv = (ListView)rootView.findViewById(R.id.list);
lv.setAdapter(sAdapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Fragment f = new EmployeeDetails(); // ERROR
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.replace(R.id.content_frame, f);
ft.commit();
Log.i("TAG", "itemClick: position = " + position + ", id = "
+ id);
}
});
Run Code Online (Sandbox Code Playgroud)
EmployeeDetails
public class EmployeeDetails extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_employee_details, container, false);
}
}
Run Code Online (Sandbox Code Playgroud)
答案是:
所有碎片都import android.app.Fragment;不能android.support.v4.app.Fragment;
Luc*_*tos 19
在您的类EmployeeDetails声明中,执行以下操作:
public class EmployeeDetails extends Fragment {
......
Run Code Online (Sandbox Code Playgroud)
并使用 import android.app.Fragment;
不使用 import android.support.v4.app.Fragment;
| 归档时间: |
|
| 查看次数: |
11767 次 |
| 最近记录: |