У меня есть 2 файлов Java и одну кнопку переключения, когда я нажимаю на кнопку переключения я получаю ошибкуНе удалось найти метод OnClick (View)
09-17 00:36:24.706: E/AndroidRuntime(30978): FATAL EXCEPTION: main
09-17 00:36:24.706: E/AndroidRuntime(30978): Process: com.soheil.prolight, PID: 30978
09-17 00:36:24.706: E/AndroidRuntime(30978): java.lang.IllegalStateException: Could not find a method onClick(View) in the activity class com.soheil.prolight.MainActivity for onClick handler on view class android.widget.ToggleButton with id 'ToggleButton01'
возвещал я тумблер в моем втором файле Java, который является этот
public class StrobeLightConfig extends Activity {
StrobeRunner runner;
Thread bw;
public final Handler mHandler = new Handler();
public final Runnable mShowToastRunnable = new Runnable() {
public void run() {
showMessage();
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ToggleButton togglebutton = (ToggleButton) findViewById(R.id.ToggleButton01);
runner = StrobeRunner.getInstance();
runner.controller = this;
togglebutton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
if (togglebutton.isChecked()) {
//test
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(getApplicationContext(),"soli", duration);
toast.show();
//test
bw = new Thread(runner);
bw.start();
} else {
runner.requestStop = true;
}
}
});
final SeekBar skbar = (SeekBar)findViewById(R.id.SeekBar01);
skbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
runner.delay=progress;
}
});
final SeekBar skbaroff = (SeekBar)findViewById(R.id.SeekBar02);
skbaroff.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
runner.delayoff=progress;
}
});
}
@Override
protected void onStop() {
runner.requestStop=true;
ToggleButton togglebutton = (ToggleButton) findViewById(R.id.ToggleButton01);
togglebutton.setChecked(false);
super.onStop();
}
public void showMessage()
{
String err = runner.errorMessage;
runner.errorMessage="";
if(!err.equals(""))
{
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, err, duration);
toast.show();
}
ToggleButton togglebutton = (ToggleButton) findViewById(R.id.ToggleButton01);
togglebutton.setChecked(false);
}
}
и мой основной вид деятельности - это другой файл, у меня также есть основной объект xml и onclick vent, но никто из них не работает!
<ToggleButton
android:id="@+id/ToggleButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/SeekBar01"
android:layout_marginRight="46dp"
android:onClick="onClick"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:textOff="@string/powerbuttonoff"
android:textOn="@string/powerbuttonon" />
я просто нужно запустить пустоту, но я не могу найти способ, если я удалить OnClick метод ошибки XML пропадут, но ничего не происходит даже тост я положил там, чтобы увидеть это кнопка работает или нет!
пожалуйста, напишите код MainActivity как то, где исключение исходит из – invertigo
это мой файл класса я хочу, чтобы запустить метод OnClick из моего файла Calss этот файл отдельный файл .java @invertigo – Soheyl
вы собираетесь к ней d, чтобы связать событие onclick с активным активным (в данном случае MainActivity). оттуда вы могли бы вызывать методы на вашем другом классе в разных моделях. – invertigo