android - 检查 getIntent().getStringExtra() 是否为空?
问题描述
我正在编写一个简单的 android 应用程序,该应用程序具有ListView
与ArrayList
. 用户可以在文本框中键入,按下按钮,文本将ListView
通过ArrayList
. 用户可以输入的文本框位于单独的 Activity 上,因此每当用户按下“提交”以将项目添加到 时ListView
,都会调用主 Activity 并通过intent
. 但是,我需要检查文本是否为空,否则我的代码设置方式ListView
将添加一个空条目。这是我目前拥有的:
protected void onResume() {
super.onResume();
ArrayAdapter<Item> itemsAdapter = new itemsListAdapter(this, R.layout.adapter_view_layout, itemsArrayList);
ListView itemsListView = findViewById(R.id.mainActivity_itemsListView1);
itemsListView.setAdapter(itemsAdapter);
String incomingItemName = getIntent().getStringExtra("ITEM_NAME");
if (!incomingItemName.equals("")) { itemsArrayList.add(new Item(incomingItemName)); } //this line causes app to crash on start
}
我写的if
语句会导致应用程序在启动时崩溃,如果我注释掉应用程序启动正常的那一行。如果我itemsArrayList.add(new Item(incomingItemName));
退出if
语句,当用户进入活动以添加项目时会创建一个空白列表条目,然后只需返回主屏幕即可。
我对android编程比较陌生,所以任何帮助都将不胜感激。谢谢你。
解决方案
您可以使用Textutils.isEmpty()
来检查您的字符串的意图。true
如果您的输入字符串为空或为空,它将返回。
推荐阅读
- python - No such a column key
- json - golang json如何解码具有不同元素数据类型的二维数组
- javascript - 如何根据数据将笔划添加到矩形
- javascript - 如何暂停/恢复/延迟for循环?
- firebase - 如何使用我的 id 而不是 Firebase 唯一 ID 从 Firebase 获取数据?
- css - 如何在没有绝对位置的情况下将我的(引导)元素带到列的底部?
- python - 熊猫检查一列中的条件并在另一列中填充数据
- android - 我们是否需要在活动的 onDestroy() 方法中调用主题的 onComplete() ?
- reactjs - 如何防止函数在 render() 循环中重新渲染
- c# - maskedTextBox c#中经度和纬度的格式