0
私はアンドロイドアプリのシークバーリスナーを実装しようと時間を費やしてきました。アプリケーションを起動するたびにクラッシュします。 シークバーを、シークバー上で手動で変更できるしきい値にリンクしようとしています。これは、シークバーのための私のレイアウトxmlファイルで次のようにアンドロイドシークバーのリスナーを実装するためにxmlレイアウトを拡張するにはどうすればよいですか?
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="126dp"
android:layout_height="wrap_content"
android:minWidth="56dp">
<RelativeLayout
android:layout_width="188dp"
android:layout_height="match_parent">
<SeekBar
android:id="@+id/seekBar"
style="@android:style/Widget.SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/progressBar"
android:max="127"
android:progress="2" />
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="60dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignBottom="@+id/seekBar" />
</RelativeLayout>
私の実装が見えます:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setTitle(R.string.title_devices);
mHandler = new Handler();
getLayoutInflater().inflate(R.layout.actionbar_indeterminate_progress, null);
setContentView(R.layout.actionbar_indeterminate_progress);
final int step = 1;
final int max = 0;
final int min = -127;
Threshold = (SeekBar) findViewById(R.id.seekBar);
//Threshold.setMax((max - min)/step);
Threshold.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progressChangedValue;
//@Override
public void onProgressChanged(SeekBar Threshold, int progress,
boolean fromUser)
{
// if progress = 13 -> value = 3 + (13 * 0.1) = 4.3
double value = min + (progress * step);
progressChangedValue = (int) value;
//progressChangedValue = progress;
}
//@Override
public void onStartTrackingTouch(SeekBar Threshold) {}
//@Override
public void onStopTrackingTouch(SeekBar Threshold) {
mThreshold = progressChangedValue;
Toast.makeText(DeviceScanActivity.this, "Threshold has been set to: " + progressChangedValue,
Toast.LENGTH_SHORT).show();
}
});
}
誰でもアプリのクラッシュを引き起こす可能性がどのようなヒントを持っていますか?そして私はどのように問題を解決することができましたか?
ありがとうございます!
setContentView()
方法があなたのために同じことを同じようにあなたが自分でレイアウトを膨らませる必要はありませんSayus
@ Jack Ray:ありがとうございます。しかし、私が削除した後も私のアプリケーションはクラッシュします:getLayoutInflater()。inflate(R.layout.actionbar_indeterminate_progress、null); – Sayus
ここにエラートレースを投稿して、あなたの問題をより詳しく見ることができますか? –