我想在按下按钮时编辑TextEdit对象的文本,但是在我的Java源代码中,我无法访问文本框。我怎样才能做到这一点?
编辑:
package com.example.myapplication;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;
public class FirstFragment extends Fragment {
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_first, container, false);
}
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NavHostFragment.findNavController(FirstFragment.this)
.navigate(R.id.action_FirstFragment_to_SecondFragment);
}
});
}
public void button1_Click(View view)
{
EditText editTextNumber = (EditText)findViewById(R.id.editTextNumber);
}
}
它说findViewById是未定义的?
您可以使用setText方法通过单击按钮来更改文本框的文本:
public void onBtnChangeText(View view) {
EditText editText = (EditText)findViewById(R.id.simpleEditText);
editText.setText("New text");
}
我的xml文件是:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#0390FF"
android:onClick="onBtnChangeText"
android:text="Click to change text"
android:textAllCaps="false"
android:textSize="20sp" />
<EditText
android:id="@+id/simpleEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Old text"
android:gravity="center"/>
单击按钮时,文本将从“旧文本”更改为“新文本”:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句