내 모든 활동에서 볼 수있는 뮤직 플레이어를 만들려고합니다. 이렇게하기 위해, 나는 당신이 이전에 조언 한 사람 중 한 명으로 Fragment
을 사용할 것입니다.팽창 후 조각이 보이지 않음 [고정되었지만 ...]
나는 Fragments
에 대한 경험이 없기 때문에 먼저 필러 활동을 구현하기로 결정했습니다. 버튼과 텍스트가 포함 된 간단한 단편을 작성한 후 필자 활동에서이를 부풀려보십시오.
그러나 팽창 후이 조각은 나타나지 않습니다. LogCat에 프래그먼트가 팽창되었음을 알리는 메시지가 인쇄됩니다.
나는 뭔가를 놓쳤다는 것을 확신하지만, 이것에 대한 경험이 없으며이를 수행하는 방법을 설명하는 튜토리얼을 찾을 수 없기 때문에 나는 그것이 무엇인지, 실종.
음악 플레이어 조각
public class AppMusicPlayer extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
System.out.println("fragment added");
return inflater.inflate(R.layout.musicplayer_main, container, false);
}
}
음악 플레이어 레이아웃
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is the fragment you're looking for" />
</LinearLayout>
필러 활동
public class Filler extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filler);
Button b = (Button) findViewById(R.id.terug);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
}
}
뭔가 잘못하지만, 무엇을하고있어 분명히
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- Title bar -->
<RelativeLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:background="@drawable/title_bar" >
<TextView
android:id="@+id/fillertitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Work In Progress"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" >
</TextView>
<Button
android:id="@+id/terug"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_centerVertical="true"
android:background="@drawable/button_back"
android:text="Back"
android:textColor="#FFFFFFFF"
android:textStyle="bold" >
</Button>
</RelativeLayout>
<!-- End of title bar -->
<TextView
android:id="@+id/wip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This section of the app has not been made yet. Work in progress." >
</TextView>
<fragment
android:id="@+id/musicPlayerFragment"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:name="com.mobowski.app.player.AppMusicPlayer" />
</LinearLayout>
210 필러 레이아웃?
참고 : 나는 Compatibility 라이브러리와 함께 Android 2.3을 사용하고 있습니다.
어떤 도움이 문제 Yashwanth 쿠마 및 blessenm의 도움으로 고정 된
을 알 수있다. 하나는 XML 솔루션을, 다른 하나는 프로그램 방식의 솔루션을 제공했습니다. 이제는 어떤 솔루션이 가장 바람직한 것인지 궁금합니다. 솔루션 중 하나를 사용하여 양보해야 할 사항이 있습니까? 아니면 모두 프로그래머가 선호하는 솔루션으로 귀결됩니까?
특정 '단편'만 사용하고 절대로 변경하지 않으려한다면 xml 방식이 바람직 할 것입니다. 앱이 실행 중일 때'Fragments'를 스왑하려는 경우 - 프로그램 적으로'Fragment'를 추가하면 플로우를 제어하는 것이 바람직 할 수 있습니다 (예 :'Fragment'가 표시되고 어느 것이 바뀌는 지 알 것입니다). – kaspermoerch
좋아, 나는 XML에 충실 할 것이다. (적어도 현재는) 뮤직 플레이어가 유일한 '조각'이 될 것이다. 답변 해 주셔서 감사합니다. –