Я немного новичок на Android, и моя кнопка не работает должным образом, когда я запускаю свое приложение. Вот мой Java код:Кнопка работает некорректно (андроидная студия)
package com.example.neak.phore;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import org.json.JSONArray;
import org.json.JSONException;
import java.util.ArrayList;
import cz.msebera.android.httpclient.Header;
public class MainActivity extends ActionBarActivity {
Button btLoginL;
EditText etEmail, etPassL;
TextView tvRegistrarGo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btLoginL = (Button) findViewById(R.id.btLoginL);
etEmail = (EditText) findViewById(R.id.etEmailL);
etPassL = (EditText) findViewById(R.id.etPassL);
tvRegistrarGo = (TextView) findViewById(R.id.tvRegistrarGo);
final String email = etEmail.getText().toString();
final String pass = etPassL.getText().toString();
btLoginL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EnviarDatos(email, pass);
}
});
tvRegistrarGo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent registrar = new Intent(MainActivity.this, Registrar.class);
startActivity(registrar);
}
});
}
public void EnviarDatos(String email, String pass){
String URL = "192.168.2.15/android/login.php";
RequestParams params = new RequestParams();
params.put("email",email);
params.put("pass", pass);
AsyncHttpClient clienteL = new AsyncHttpClient();
clienteL.put(URL, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int i, Header[] headers, byte[] bytes) {
getDataJson(new String(bytes));
}
@Override
public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
Toast.makeText(getApplicationContext(), "Fallo en la conexion", Toast.LENGTH_SHORT);
}
});
}
public ArrayList<String> getDataJson(String response){
ArrayList<String> Logstat = new ArrayList<>();
try{
JSONArray recoger = new JSONArray(response);
String status;
status=recoger.getJSONObject(0).getString("estado");
comprobar(status);
} catch (Exception e) {
e.printStackTrace();
}
return Logstat;
}
public void comprobar(String status){
if(status.equals("0")){
Toast.makeText(getApplicationContext(),"Usuario o contraseña incorrectos",Toast.LENGTH_SHORT);
}else{
Toast.makeText(getApplicationContext(),"Login correcto",Toast.LENGTH_SHORT);
}
}
}
А вот мой XML-код:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#25ae90"
tools:context="com.example.neak.phore.MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:hint="Nombre de usuario"
android:id="@+id/etEmailL"
android:layout_marginTop="116dp"
android:background="#ffffff"
android:padding="10dp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="12dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:hint="Contraseña"
android:id="@+id/etPassL"
android:layout_below="@+id/etEmailL"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:padding="10dp"
android:background="#ffffff"
android:layout_marginBottom="10dp" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Entrar"
android:id="@+id/btLoginL"
android:background="#ffffff"
android:layout_below="@+id/etPassL"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="33dp"
android:textColor="#25ae90" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Aun no eres miembro? Registrate!"
android:id="@+id/tvRegistrarGo"
android:layout_below="@+id/btLoginL"
android:layout_centerHorizontal="true"
android:layout_marginTop="35dp"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="#ffffff" />
</RelativeLayout>
Проблема заключается в том, когда я запустить приложение, кнопка не делает ничего, но если я изменить кнопку OnClick для
tvRegistrarGo.setText ("Prueba");
кнопка работает! Я работаю с: this sdk version and this build tools version
Это LogCat я получаю, когда я нажал одну сто раз кнопку, но если я один раз нажать редактирования текста с OnClick он появляется на LogCat:
01-26 23:21:51.309 6706-6706/? I/art: Late-enabling -Xcheck:jni
01-26 23:21:51.476 6706-6742/com.example.neak.phore D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
01-26 23:21:51.482 6706-6706/com.example.neak.phore D/Atlas: Validating map...
01-26 23:21:51.528 6706-6742/com.example.neak.phore I/Adreno-EGL: <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.01.00.042.030_msm8974_LA.BF.1.1.1_RB1__release_AU()
OpenGL ES Shader Compiler Version: E031.25.03.06
Build Date: 05/17/15 Sun
Local Branch: mybranch10089422
Remote Branch: quic/LA.BF.1.1.1_rb1.22
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.01.00.042.030 + 6151be1 + NOTHING
01-26 23:21:51.529 6706-6742/com.example.neak.phore I/OpenGLRenderer: Initialized EGL, version 1.4
01-26 23:21:51.555 6706-6742/com.example.neak.phore D/OpenGLRenderer: Enabling debug mode 0
01-26 23:21:51.627 6706-6706/com.example.neak.phore I/Timeline: Timeline: Activity_idle id: [email protected] time:17054805
01-26 23:22:48.574 6706-6706/com.example.neak.phore I/Timeline: Timeline: Activity_launch_request id:com.example.neak.phore time:17111752
01-26 23:22:48.715 6706-6706/com.example.neak.phore I/Timeline: Timeline: Activity_idle id: [email protected] time:17111893
01-26 23:22:52.005 6706-6706/com.example.neak.phore I/Timeline: Timeline: Activity_idle id: [email protected] time:17115184
Есть ли ошибки в вашей LogCat? – Buddy
Какая ошибка вы получаете? Предоставьте логарифмические журналы. –
Он ничего не отображается, когда я нажимаю кнопку, но если я изменяю Onclick для log.e («try», «try»); похоже, что это работает. Если я обмениваю его обратно, он не работает :(Logcat не получает никакого щелчка по кнопке –