Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我需要实现onseekbarchaneglistener和onclicklistener_Android_Textview_Seekbar - Fatal编程技术网

Android 我需要实现onseekbarchaneglistener和onclicklistener

Android 我需要实现onseekbarchaneglistener和onclicklistener,android,textview,seekbar,Android,Textview,Seekbar,我不确定是否需要两个类,如果需要,我需要知道如何将数据从一个类传递到另一个类,如果不需要,我需要知道如何将onClickListener添加到已经实现onSeekBarChangeListener的类中。 以下是我目前掌握的情况: package com.codeherenow.sicalculator; import android.app.Activity; import android.os.Bundle; import android.view.View

我不确定是否需要两个类,如果需要,我需要知道如何将数据从一个类传递到另一个类,如果不需要,我需要知道如何将onClickListener添加到已经实现onSeekBarChangeListener的类中。 以下是我目前掌握的情况:

    package com.codeherenow.sicalculator;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.SeekBar;

    public class SICalculatorActivity extends Activity implements   SeekBar.OnSeekBarChangeListener{
    private int years;
    private TextView YT;
    private SeekBar bar;
    private EditText principal = (EditText) findViewById(R.id.PA_field);
    private EditText interest = (EditText) findViewById(R.id.IR_field);
    public EditText pvalue;
    public EditText ivalue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sicalculator);
    bar = (SeekBar)findViewById(R.id.seekBar);
    bar.setOnSeekBarChangeListener(this);
    pvalue = (EditText) principal.getText();
    ivalue = (EditText) interest.getText();
    }
    @Override
    public void onProgressChanged (SeekBar seekBar,int i, boolean b){
        years = i;
        YT = (TextView) findViewById(R.id.Years);
        YT.setText(years + " Year(s)");

    }

    @Override
    public void onStartTrackingTouch (SeekBar seekBar){

    }

    @Override
    public void onStopTrackingTouch (SeekBar seekBar){

    }

}

您只需在正在实现的所有接口之间加一个逗号即可。在这种情况下,你需要

public class SICalculatorActivity extends Activity 
       implements SeekBar.OnSeekBarChangeListener, View.OnClickListener{

您可以继续使用此方法实现任意数量的接口。

您可以根据需要实现任意数量的接口:

public class SICalculatorActivity extends Activity implements SeekBar.OnSeekBarChangeListener, View.OnClickListener {

    private int years;
    private TextView YT;
    private SeekBar bar;
    private EditText principal;
    private EditText interest;
    public EditText pvalue;
    public EditText ivalue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sicalculator);

    //should init here to avoid NullPointerException
        principal = (EditText) findViewById(R.id.PA_field);
        interest = (EditText) findViewById(R.id.IR_field);

        bar = (SeekBar)findViewById(R.id.seekBar);
        bar.setOnSeekBarChangeListener(this);

//      set click listener -  someView.setOnClickListener(this);

        pvalue = (EditText) principal.getText();
        ivalue = (EditText) interest.getText();
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
//            case R.id.someViewId:
                //handle click
//                break;
        }
    }

    @Override
    public void onProgressChanged (SeekBar seekBar,int i, boolean b){
        years = i;
        YT = (TextView) findViewById(R.id.Years);
        YT.setText(years + " Year(s)");

    }

    @Override
    public void onStartTrackingTouch (SeekBar seekBar){

    }

    @Override
    public void onStopTrackingTouch (SeekBar seekBar){

    }
}

你有什么问题?您应该能够直接执行SeekBar.onseekbarchaneglistener,查看。OnClickListener@PaulThompson这就是我不知道的,如何在顶部添加两个机具,谢谢你的示例如果这是你的问题,我会把它作为一个答案: