Ich habe den einfachsten Code und es vor gearbeitet haben, aber jetzt aus irgendeinem Grund ist es nicht, und ich kann, warum nicht herausfinden! Und das Problem ist ziemlich schwer zu googeln.onClick: EditText leer in Android Studio
Ich bin nicht in der Lage den Text aus den EditText
zu bekommen. Ich habe ein neues Projekt erstellt, ich habe den genauen Code von einem anderen Projekt kopiert (wo es funktioniert), aber hier wird es einfach nicht funktionieren. Ich hoffe, dass das Problem wirklich offensichtlich ist und ich habe es einfach zu lange angeguckt.
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
String artist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText edit = (EditText) findViewById(R.id.artistEditText);
artist = edit.getText().toString();
}
protected void tryLetter(View v){
System.out.println(artist);
Log.d("string", artist);
System.out.println("hi");
}
}
Die println
Künstler drucken überhaupt nicht angezeigt und auch nicht die Log.d
und tryletter
aufgerufen werden, wenn ich eine Taste drücken. Hier
ist die Layout-Datei, wenn es einen Unterschied macht.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Ange en artist:"
android:id="@+id/artistTextLabel"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginTop="30dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/artistEditText"
android:layout_alignBottom="@+id/artistTextLabel"
android:layout_alignEnd="@+id/searchBtn" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sök"
android:id="@+id/searchBtn"
android:onClick="tryLetter"
android:layout_below="@+id/artistEditText"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Weil Sie 'edit.getText(). ToString();' an der falschen Stelle aufrufen. Sie sollten es innerhalb von tryLetter() aufgerufen haben. Wenn Sie 'edit.getText(). ToString();' oncreate aufrufen, ist der EditText leer. – birraa