Ich bin neu in Android-Programmierung, und ich versuche, den Text von zwei editText
Feld von meiner Android App Himbeer-Pi mit PHP und JSON zu senden. Alles funktioniert gut und die Daten können in der Datenbank angezeigt werden, aber das einzige Problem ist, wenn ich auf die Schaltfläche SENDEN in meiner App klicken, tut es nichts. Aber wenn ich irgendwo in die Nähe der SEND-Taste klicke, werden die Daten gesendet. Ich habe die onClick-Methode aus der Layout-Datei verwendet, die in activity_main.xml
definiert ist. Hier ist mein MainActivity.java
Code:Button funktioniert nicht in meiner Android App wie erwartet
public class MainActivity extends AppCompatActivity {
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
EditText editText;
EditText editText2;
Button button;
private View view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.name);
editText2 = (EditText) findViewById(R.id.partNumber);
button = (Button) findViewById(R.id.send);
}
public void Send(View view) {
this.view = view;
new Create_Part().execute();
}
class Create_Part extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("Sending part to the database...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@SuppressWarnings("WrongThread")
@Override
protected String doInBackground(String... args) {
String String_name = editText.getText().toString();
String Int_Part = editText2.getText().toString();
List<NameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("Name", String_name));
params.add(new BasicNameValuePair("part_nr", Int_Part));
JSONObject json = jsonParser.makeHttpRequest("http://192.168.2.1/db_create.php", "POST", params);
try {
int success = json.getInt("success");
if (success == 1) {
finish();
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
}
}
}
Meine activity_main.xml
Datei:
<?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"
tools:context="com.example.dipankarroy.rpitoandroidmessengerapp.MainActivity"
android:onClick="Send"
android:nestedScrollingEnabled="false">
<EditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:hint="@string/name" />
<EditText
android:id="@+id/partNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/name"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/name"
android:layout_below="@+id/name"
android:hint="@string/part_number" />
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/partNumber"
android:layout_centerHorizontal="true"
android:layout_marginTop="36dp"
android:text="@string/send"
android:onClick="Send" />
</RelativeLayout>
zuerst entfernen privat Ansicht ansehen; diese Zeile – Pavya
Wo ist der 'onClickListener' für die Schaltfläche? –
Angenommen onclick property map Sende Methode. Teilen Sie Ihr activity_main Layout – alrama