【问题标题】:How to get string from an EditText?如何从 EditText 中获取字符串?
【发布时间】:2018-09-27 05:22:45
【问题描述】:

在“buttonClicked”函数的底部,我试图从我的 EditText 中获取字符串,但它显示“无法解析“number”。我不明白为什么它不能.

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);
 } }

【问题讨论】:

  • 使用 number.getText.toString();
  • 看看java中的“范围”
  • 将此行 `activityListener.createFrament(number.getText().toString());` 移动到 onClick() 方法

标签: android string android-edittext


【解决方案1】:

将数字声明为全局:

EditText number;

然后在你的函数 buttonClicked() 中:

number.getText().toString();

【讨论】:

    【解决方案2】:

    应该是这样的:

    number.getText().toString();
    

    EditText 编号要全局声明。

    【讨论】:

      【解决方案3】:

      首先,将数字声明为global,然后应该是这样的:

      number.getText().toString();
      

      【讨论】:

        【解决方案4】:

        您在 onCreate 上声明您的 EditText。请将您的声明添加到全局,类似于EditText number。

        然后在你的函数中调用这个:

        number.getText().toString()

        谢谢

        【讨论】:

          【解决方案5】:

          您的方法void createFrament(String numberOfFragments); 是必需的字符串作为参数。所以在调用这个方法时使用

           activityListener.createFrament(number.getText.toString());
          

          而不是

           activityListener.createFrament(number.getText);
          

          【讨论】:

            猜你喜欢
            • 2015-09-10
            • 1970-01-01
            • 1970-01-01
            • 2012-11-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-04-15
            • 1970-01-01
            相关资源
            最近更新 更多