0

このチュートリアルhttps://code.google.com/p/range-seek-bar/#Example_usage_as_Integer_range ? を使用しました。
アクティビティが停止したときに実行時エラーが発生しました。あなたからの助けを求めたいです。以下にリストされているように、次のコンパイルエラーを修正しようとしました。

RangeSeekBar<Integer> seekBar = new RangeSeekBar<Integer>(20, 75, context);
  1. コンテキストを変数に解決できません

これにコンテキストの変更を追加してみました。

Log.i(TAG, "User selected new range values: MIN=" + minValue + ", MAX=" + maxValue);
  1. TAG は変数に解決できません。

「protected static final String TAG = null;」を追加してみました 主な活動へ。

ViewGroup layout = (ViewGroup) findViewById(<your-layout-id>)
  1. レイアウト ID はレイアウトの main_activity.xml を参照していますか?

フィードバックをお寄せいただき、誠にありがとうございます。

MainActivity.Java

package com.example.rangeseekbargooglecode;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.ViewGroup;

import com.example.rangeseekbargooglecode.RangeSeekBar.OnRangeSeekBarChangeListener;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final String TAG = null;
        // create RangeSeekBar as Integer range between 20 and 75
        RangeSeekBar<Integer> seekBar = new RangeSeekBar<Integer>(20, 75, this);
        seekBar.setOnRangeSeekBarChangeListener(new OnRangeSeekBarChangeListener<Integer>() {
                @Override
                public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue, Integer maxValue) {
                        // handle changed range values
                        Log.i(TAG, "User selected new range values: MIN=" + minValue + ", MAX=" + maxValue);
                }
        });

        // add RangeSeekBar to pre-defined layout
        ViewGroup layout = (ViewGroup) findViewById(R.layout.activity_main);
        layout.addView(seekBar);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="109dp" />

</RelativeLayout>

TextView範囲を表示できるようにコードを編集しました。

public class MainActivity extends Activity {

    private TextView textview;
    protected static final String TAG = "com.example.gto_doubleseekbar";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textview = (TextView) findViewById(R.id.textView1);

        // create RangeSeekBar as Integer range between 20 and 75
        RangeSeekBar<Integer> seekBar = new RangeSeekBar<Integer>(20, 75, this);

        seekBar.setOnRangeSeekBarChangeListener(new OnRangeSeekBarChangeListener<Integer>() {
                @Override
                public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue, Integer maxValue) {
                        // handle changed range values
                    String powerranger = "User selected new range values: MIN=" + minValue + ", MAX=" + maxValue;
                    Log.i(TAG, powerranger);
                    textview.setText(powerranger);  
                }
        });

        // add RangeSeekBar to pre-defined layout
        LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService
                (Context.LAYOUT_INFLATER_SERVICE);
        ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.activity_main,null);
        layout.addView(seekBar);
        setContentView(layout);
    }
4

2 に答える 2

1
  • RangeSeekBar seekBar = new RangeSeekBar(20, 75, context); 1. コンテキストを変数に解決できない

    this 動作する必要があります:

    RangeSeekBar seekBar = new RangeSeekBar(20, 75, this);
    
  • Log.i(TAG, "ユーザーが選択した新しい範囲値: MIN=" + minValue + ", MAX=" + maxValue); 2. TAG は変数に解決できません。「protected static final String TAG = null;」を追加してみました 主な活動へ。

    null に設定しないでください。通常、アプリまたはコンポーネントの名前を使用します。

    protected static final String TAG = "MyApp";
    
  • ViewGroup layout = (ViewGroup) findViewById() 3. レイアウト ID はレイアウト内の main_activity.xml を参照していますか?

    これを使って:

    LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService      (Context.LAYOUT_INFLATER_SERVICE);
    ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.activity_main,null);
    layout.addView(seekBar);
    
    setContentView(layout);
    
于 2014-02-12T15:20:08.643 に答える