Android에서 앱을 만들려고하는데 내비게이션 서랍에지도를 추가하고 싶습니다. 서랍 옵션은 새 조각을 열지 만지도 조각이 작동하도록 만들 수는 없습니다.
MainActivity.java는 조각을 다음과 같은 방법을 설정합니다 :
/**
* Diplaying fragment view for selected nav drawer list item
* */
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment = new PoliFragment();
break;
case 2:
fragment = new TilefonaFragment();
break;
case 3:
fragment = new DromologiaFragment();
break;
case 4:
fragment = new XartisFragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment).commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
//setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
맵 조각 ( XartisFragment.java )은 다음과 같습니다.
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
public class XartisFragment extends Fragment {
private GoogleMap map;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.map_layout,container, false);
map = ((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getMap();//((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map)).getMap();
return rootView;
}
}
map_layout.xml은 다음과 같다 :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="8dp" />
</RelativeLayout>
실행하려고하면 다음과 같은 결과가 나타납니다.
Error:(178, 15) error: incompatible types: XartisFragment cannot be converted to Fragment
MainActivity.java의이 줄에 오류가 있음을 나타냅니다.
fragment = new XartisFragment();
로드하기 위해 변경해야 할 사항에 대한 아이디어가 있습니까?
getSupportFragmentManager()
대신 사용하십시오 getFragmentManager()
.
또는
두 장소가 동일한 Fragment 클래스를 가져 오는지 확인합니다. 한 곳에서 android.app.Fragment (기본 API 레벨 11 버전의 프래그먼트)를 가져오고 다른 곳에서는 android.support.v4.app.Fragment (Android 지원의 프래그먼트)를 가져 오는 것처럼 느껴집니다. 꾸러미).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다