我试图填写列表视图,其中包含以json格式接收和odata服务的数据。数据已被提取,可以使用getIODataEntry()
进行访问。
我将相应的值附加到字符串以查看LogCat中的输出,然后拆分字符串以使用单个值填充listView。
ListView listView_CarrierCollection = null;
...
private void showData() {
Log.d("debug", "log 1");
String carrierCollection = "";
for(int i=0; i<getIODataEntry().size(); i++) {
carrierCollection += getIODataEntry().get(i).getPropertyValue("Carrname");
carrierCollection += ";";
}
Log.d("debug", carrierCollection);
ArrayList<String> list = new ArrayList<String>(Arrays.asList(carrierCollection.split(";")));
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), R.layout.custom_textview, list);
listView_CarrierCollection.setAdapter(arrayAdapter);
Log.d("debug", "log 2");
}
一切正常,但只有在我的设备之后才能解决问题。屏幕已关闭并再次打开或关闭并重新打开应用程序后。而是立即提示日志到logcat,但listView仅在重新打开应用程序后包含数据。
我错过了什么吗?每个提示都会受到赞赏!
编辑:
最后让它工作 - 原来它与上面发布的代码无关。我有一些听众,他们试图更新片段中的TextField。似乎MyFragment.textfield.setText("test");
以某种方式阻止了任何进一步的操作。用runOnUiThread(new Runnable(){ ... })
围绕它为我解决了这个问题,让整个事情发挥作用。
尽管如此,感谢您的想法和帮助!
答案 0 :(得分:0)
迟到聚会,但将来可能会帮助其他人
就我而言,我在更新可变数组列表时没有呼叫class Main extends React.Component {
render() {
return (
<div>
<h1>
<Link to="/">Reduxtagram</Link>
</h1>
{React.cloneElement(this.props.children, this.props)}
</div>
);
}
}
class PhotoGrid extends React.Component {
render() {
return <div className="photo-grid">PhotoGrid</div>;
}
}
class Single extends React.Component {
render() {
return <div className="single-photo">Single</div>;
}
}
。因此,只有在我反复调节时才起作用。但是在调用notifyDataSetChanged()
之后,它照常工作。
希望它会有所帮助;)