Ich habe eine coFragment.xml-Datei, die ein EditText-Feld und einige Schaltflächen enthält. In meiner coFragment.java-Datei möchte ich beiClickListeners zu den Schaltflächen registrieren, so dass Text, wenn sie gedrückt werden, dem EditText-Feld hinzugefügt wird.Einstellung onClickListeners, um Textfeld in Fragment zu bearbeiten
Meine coFragment.java Datei hat derzeit
public class CoFragment extends Fragment implements View.OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parentViewGroup,
Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.coFragment, parentViewGroup, false);
EditText input = (EditText) getView().findViewById(R.id.input_id);
Button oneButton = (Button) v.findViewById(R.id.one_button_id);
Button twoButton = (Button) v.findViewById(R.id.two_button_id);
Button threeButton = (Button) v.findViewById(R.id.three_button_id);
oneButton.setOnClickListener(this);
twoButton.setOnClickListener(this);
threeButton.setOnClickListener(this)
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.one_button_id:
input.append("1");
break;
case R.id.two_button_id:
input.append("2");
break;
case R.id.three_button_id:
input.append("3");
break;
}
Offensichtlich kann ich zur Zeit nicht auf das input
EditText Objekt im onClick
Verfahren. Wie kann ich die gewünschte Funktionalität erhalten?
Vielen Dank für Ihre Antwort - wenn ich versuche, was Sie vorgeschlagen habe, bekomme ich 'java.lang.NullPointerException: Versuchen Sie, virtuelle Methode 'android.view.View android.view.View.findViewById (int)' auf a Nullobjektreferenz? – nilcit
Hast du genau das kopiert, was ich geschrieben habe? Seine v.findViewById() und nicht getView(). FindViewById –
aah, ok, ich habe getView, nicht v. Alles funktioniert jetzt, vielen Dank für Ihre Hilfe, sehr geschätzt! – nilcit