0
액티비티에 단편을 첨부했습니다. 조각 내에서 seekbar에 대한 변경 내용을 듣고 있지만 'onProgressChanged'메서드는 절대로 액세스되지 않습니다. 또한 조각에있는 TextView 변수를 수정하려고하면 값을 수정하지 않습니다 (TextView 변수에 검색 바의 값이 표시되어야합니다.)프래그먼트 안드로이드에서 seekbar 사용
여기에 사용한 코드는 다음과 같습니다.
주요 활동
public class NearbyActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nearby);
// add map fragment
NearbyFragment nearbyFragment = (NearbyFragment) getSupportFragmentManager().findFragmentById(R.id.nearby_fragment);
if (nearbyFragment == null) {
nearbyFragment = NearbyFragment.newInstance();
getSupportFragmentManager()
.beginTransaction()
.add(R.id.container_bar, nearbyFragment)
.commit();
}
}
조각
public class NearbyFragment extends Fragment implements OnSeekBarChangeListener{
private TextView distance;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_nearby, container, false);
final SeekBar seekBar = (SeekBar) rootView.findViewById(R.id.seekBar);
distance = (TextView) rootView.findViewById(R.id.distance);
seekBar.setProgress(50);
distance.setText("ass");
seekBar.setOnSeekBarChangeListener(this);
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_nearby, container, false);
}
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
distance.setText("" + i);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
조각의 XML
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SeekBar
android:layout_width="241dp"
android:layout_height="wrap_content"
android:id="@+id/seekBar"
android:layout_marginStart="60dp"
android:layout_marginEnd="60dp" />
<TextView
android:text="0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/distance"
android:gravity="center"/>
</LinearLayout>