在“buttonClicked”功能的底部我试图从我的EditText中获取字符串,但它说“无法解析”数字“。我不明白为什么它不能
public class TopFragment extends Fragment {
TopFragmentListener activityListener;
public interface TopFragmentListener{
void createFrament(String numberOfFragments);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try{
activityListener = (TopFragmentListener) context;
}catch (ClassCastException e){
throw new ClassCastException (context.toString());
}
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.main_fragment, container, false);
final Button btnAdd = view.findViewById(R.id.btnAdd);
EditText number = view.findViewById(R.id.number);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
buttonClicked(v);
}
});
return view;
}
public void buttonClicked(View view) {
activityListener.createFrament(number.getText);
} }
答案 0 :(得分:1)
将号码声明为全球:
EditText number;
然后在你的函数buttonClicked():
number.getText().toString();
答案 1 :(得分:0)
应该是这样的:
number.getText().toString();
EditText数字将全局声明。
答案 2 :(得分:0)
首先,将数字声明为全局,然后它应该是:
number.getText().toString();
答案 3 :(得分:0)
您要在QTimer
上声明您的EditText。请将您的声明添加到全球,例如onCreate
。
然后在你的函数中调用它:
EditText number
由于
答案 4 :(得分:0)
你的方法void createFrament(String numberOfFragments);
是必需的String作为参数。所以在调用此方法时使用
activityListener.createFrament(number.getText.toString());
而不是
activityListener.createFrament(number.getText);