2015-02-26 1 views
0

Я не уверен, нужны ли мне два класса или нет, если мне нужно знать, как передавать данные из одного класса в другой, и если нет, мне нужно знать, как добавьте onClickListener в класс, который уже реализует onSeekBarChangeListener. Вот что я до сих пор:Мне нужно реализовать как onSeekBarChangeListener, так и OnClickListerner

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

    } 

} 
+0

Какие проблемы вы с? Вы должны быть в состоянии просто пойти 'реализует SeekBar.OnSeekBarChangeListener, View.OnClickListener' –

+0

@PaulThompson это то, чего я не знал, как добавить два инструмента наверху, спасибо за ваш пример –

+0

Я отвечу на это как ответ если это была твоя проблема :) –

ответ

0

Вы можете просто поставить запятую между всеми интерфейсами, которые вы реализующими. В этом случае вам необходимо иметь

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

Вы можете продолжить использование этого метода для реализации любого количества интерфейсов.

0

Вы можете реализовать столько интерфейсов, сколько нужно:

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

    } 
}