Verwendung Ich habe ein Fragment einer Aktivität gebunden. Innerhalb des Fragments höre ich die Änderungen, die an der Suchleiste vorgenommen wurden, aber auf die Methode 'onProgressChanged' wird nie zugegriffen. Auch wenn ein Textview-Variable zu ändern versuchen, die auch in dem Fragmente ist, es ändert nicht seinen Wert (die Textview Variable sollte den Wert des seekbar angezeigtSeekBar in einem Fragment android
Hier ist der Code, die ich verwendet habe.
Haupttätigkeit
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();
}
}
Fragment
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) {
}
Fragment 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>