Android 我需要实现onseekbarchaneglistener和onclicklistener
我不确定是否需要两个类,如果需要,我需要知道如何将数据从一个类传递到另一个类,如果不需要,我需要知道如何将onClickListener添加到已经实现onSeekBarChangeListener的类中。 以下是我目前掌握的情况: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
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这就是我不知道的,如何在顶部添加两个机具,谢谢你的示例如果这是你的问题,我会把它作为一个答案: