今天的任务为材料设计,代码如下:
SingleFragmentActivity.java:
包 com.bignerdranch.android.beatbox ; 导入 android.app.Fragment ; 导入 android.app.FragmentManager ; 导入 android.os.Bundle ; 导入 android.support.v7.app.AppCompatActivity ; 公共抽象类 SingleFragmentActivity 扩展 AppCompatActivity { 受保护的抽象 Fragment createFragment(); protected int getLayoutResId(){ return R.layout.activity_fragment ; } @覆盖 public void onCreate(Bundle savedInstanceState){ super .onCreate(savedInstanceState); setContentView(getLayoutResId()); FragmentManager manager = getFragmentManager(); 片段片段= manager.findFragmentById(R.id.fragmentContainer); if(fragment == null){ fragment = createFragment(); manager.beginTransaction() .add(R.id.fragmentContainer , fragment) .commit(); } } }
Sound.java:
package com.bignerdranch.android.beatbox; public class Sound { private String mAssetPath; private String mName; private Integer mSoundId; public Sound(String assetPath) { mAssetPath = assetPath; String[] components = assetPath.split("/"); String filename = components[components.length - 1]; mName = filename.replace(".wav", ""); } public String getAssetPath() { return mAssetPath; } public String getName() { return mName; } public Integer getSoundId() { return mSoundId; } public void setSoundId(Integer soundId) { mSoundId = soundId; } }