Activity と関連する Fragment (FragmentFive) に拡張される Activity (MainActivity) があります。
MainActivity から値にアクセスしたい Fragment に配置されたシークバーがあります。どうやってするの?API レベル 18以上のみ。
MainActivity には、クリックすると FragmentFive に向かうボタンがあります: android:onClick= "goFag5"
Activity のサンプル コードは非常に役立ちます。フラグメントのコードは次のとおりです。
FragmentFive.java
public class FragmentFive extends Fragment {
private SeekBar RedBar;
public FragmentFive() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_five, container,
false);
RedBar = (SeekBar) v.findViewById(R.id.seekBar1);
RedBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
Log.d("HM", progress+": value");
}
});
return v;
}
}
Mainactivity のコード
public void gofag5(View v) {
// TODO Auto-generated method stub
FragmentFive frag = new FragmentFive();
FragmentManager fm = getFragmentManager(); // import
FragmentTransaction ftr = fm.beginTransaction(); // import
ftr.add(R.id.mainlayout, frag, "keyFrag");
ftr.addToBackStack(null);
ftr.commit();
}