Это код:
package com.elfapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private Button btn_Login;
private EditText et_UserName;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
btn_Login = (Button)findViewById(R.id.button_login);
btn_Login.setOnClickListener(this);
et_UserName = (EditText)findViewById(R.id.editText_userName);
setContentView(R.layout.main);
}
public void onClick(View v) {
if (v.equals(btn_Login)) {
// skriver ut en toast när man klickar på knappen
//Toast.makeText(MainActivity.this, "Ansluter till server...", Toast.LENGTH_SHORT).show();
// används i debuggern för att påvisa att programmet exekverat hit
//Log.v("ThisApp", "onClick Successful");
// TODO skickar det som står i et_UserName till controller (genom TCP/IP), som ska kolla om användaren finns
Intent intent = new Intent(this, goListView);
this.startActivity(intent);
}
}
}
Программа выходит из строя, когда я достигаю оператора btn_Login.setOnClickListener(this);
, и у меня нет большой информации о том, что делать.. (не используется для отладчика Eclipse..)
Переместите вызов setContentView(R.layout.main)
до инициализации вашей кнопки. Это должно помочь. Удачи!
Попробуйте следующее: поместите setContentView(R.layout.main)
выше btn_Login = (Button)findViewById(R.id.button_login);
Я думаю, это решит вашу проблему. Попробуйте
Я буду использовать другой пример, но вы можете адаптировать свой класс Java android: Атрибут android: onClick может определять один метод, который будет вызываться, когда произойдет щелчок. Это может использовать отражение, вызывая методы класса.
Определение кнопки в вашем файле activity_main.xml:
<Button
android:id="@+id/mapshow_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/txtMsg"
android:layout_alignLeft="@+id/editLog"
android:layout_alignRight="@+id/txtLogitude"
android:text="@string/lblBtnMap"
android:textSize="10sp"
android:onClick="clickMap"/>
создайте метод в свой класс активности:
public void clickMap(View v) {
//TODO: do something
}