【问题标题】:I need to implement both a onSeekBarChangeListener and an OnClickListerner我需要同时实现 onSeekBarChangeListener 和 OnClickListerner
【发布时间】:2015-02-26 21:33:06
【问题描述】:

我不确定我是否需要两个类,如果需要,我需要知道如何将数据从一个类传递到另一个类,如果不需要,我需要知道如何将 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){

    }

}

【问题讨论】:

  • 您有什么问题?你应该可以去implements SeekBar.OnSeekBarChangeListener, View.OnClickListener
  • @PaulThompson 那是我不知道的,如何在顶部添加两个工具,谢谢你的例子
  • 如果那是你的问题,我会把它作为答案:)

标签: android textview seekbar


【解决方案1】:

您可以简单地在您正在实现的所有接口之间放置一个逗号。在这种情况下,您需要拥有

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

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

【讨论】:

    【解决方案2】:

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

    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){
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 2014-10-07
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 1970-01-01
      相关资源
      最近更新 更多