这是我的代码:
public class ScoreFragment extends Fragment {
public static final String TAG ="ScoreFragment";
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Log.d(TAG, "onAttach");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState==null)
{
Log.d(TAG,"onCreate FIRST TIME");
}
else
{
Log.d(TAG,"onCreate SUBSEQUENT TIME");
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater,container,savedInstanceState);
final View v = inflater.inflate(R.layout.score_collection, container, false);
final TextView sliderText = (TextView) v.findViewById(R.id.score_number);
sliderText.setTextSize(48);
//TODO: Find solution to find known bug in Android
/* ActionBar actionBar = ((ActionBarActivity) getActivity()).getSupportActionBar();
actionBar.hide();*/
SeekBar seekbar = (SeekBar) v.findViewById(R.id.seekBar);
seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
sliderText.setText("" + progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
Log.d(TAG,"onCreateView");
return inflater.inflate(R.layout.score_collection, container, false);
}
显示seekBar但不会在我的视图中增加或显示任何文本。
以下是我在视图中设置它的方法(在RelativeLayout中):
<SeekBar
android:layout_width="300sp"
android:layout_height="wrap_content"
android:id="@+id/seekBar"
android:progress="0"
android:max="10"
android:minHeight="30sp"
android:maxHeight="30sp"
android:layout_below="@+id/score_number"
android:layout_centerHorizontal="true"/>
它实际上在我把它放入片段之前有效,所以我认为它与它在片段中有关但我不完全确定。
假设以0到10的等级递增1。
答案 0 :(得分:0)
所以我弄清楚我做错了什么。这真是一个愚蠢的错误。我道歉。
以下是感兴趣的人的解决方案:
原始代码:
return inflater.inflate(R.layout.score_collection, container, false);
当我刚刚返回v(View v)时,我又重新回到了视图。
所以我将上面的return语句改为
return v;
相反,它的工作原理。傻我。