如何从 EditText Android 获取值
Posted
技术标签:
【中文标题】如何从 EditText Android 获取值【英文标题】:How to get values from EditText Android 【发布时间】:2021-03-12 21:52:44 【问题描述】:我有一堆 EditText
字段,我正在尝试获取它们的值。但它返回空字符串。这是我的代码:
public class add_product_fragment extends Fragment implements AdapterView.OnItemSelectedListener
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
View view = inflater.inflate(R.layout.fragment_add_product, container, false);
mName = view.findViewById(R.id.productName);
productName = mName.getText().toString().trim();
mPrice = view.findViewById(R.id.productPrice);
productPrice = mPrice.getText().toString().trim();
mDescription = view.findViewById(R.id.productDescription);
productDescription = mDescription.getText().toString().trim();
mQuantity = view.findViewById(R.id.productQuantity);
productQuantity = mQuantity.getText().toString().trim();
addToInventory = view.findViewById(R.id.addToInventoryBtn);
addToInventory.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)
System.out.println(productName + ", " + productDescription + ", " + productType
+ ", " + productPrice + ", " + productQuantity);
);
return view;
因为Fragment
s 而无法正常工作还是我遗漏了什么?
【问题讨论】:
【参考方案1】:只有在onResume()
返回后,用户才能与Activity
's/Fragment
's UI 交互。因此,在Fragment
的onCreateView()
生命周期方法中包含类似yourEditText.getText().toString()
的内容将不可避免地导致空字符串。
您应该在用户交互后“检索”EditTexts'
值,这意味着addToInventory
的onClick
侦听器应如下所示:
addToInventory.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)
System.out.println(
mName.getText().toString().trim() + ", " +
mDescription.getText().toString().trim() + ", " +
mProductType.getText().toString().trim() + ", " +
mPrice.getText().toString().trim() + ", " +
mQuantity.getText().toString().trim());
);
【讨论】:
以上是关于如何从 EditText Android 获取值的主要内容,如果未能解决你的问题,请参考以下文章