serialize 된 xml 파일을 다시 읽더라도 NotifyDataSetChanged()가 ListView를 업데이트하지 않습니다. oncreate가 다시 호출 된 후에 만 업데이트됩니다. 일부 Java 코드를 읽으면서 listadapter를 다시 채우라고했으나 여전히 작동하지 않습니다. 어떤 아이디어?NotifyDataSetChanged가 ListView를 업데이트하지 않습니다.
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.Inflate(Resource.Layout.Card, null);
listView = view.FindViewById<ListView>(Resource.Id.cardListView);
return view;
}
public override void OnResume()
{
base.OnResume();
List<string> nameList = new List<string>();
string documentsPath = Android.OS.Environment.ExternalStorageDirectory + "/Gate";
var cardPath = Path.Combine(documentsPath, "card.xml");
if (File.Exists(cardPath))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<Card>));
StreamReader reader = new StreamReader(cardPath);
cardList = (List<Card>)serializer.Deserialize(reader);
reader.Close();
}
else
{
cardList = new List<Card>();
}
foreach (Card card in cardList)
{
nameList.Add(card.name);
}
var adapter = new ArrayAdapter<string>(this.Activity, Android.Resource.Layout.SimpleListItem1, nameList);
listView.Adapter = adapter;
adapter.NotifyDataSetChanged();
}
목록보기가 비어 있다는 뜻입니까? 너는 확실한가? 명부에는 품목이 있는가? –
먼저 무엇이 일어나고 있는지 말할 수 있습니까? 어떤 시나리오? 사용자는 무엇을하고 있습니까? XML 파일이 '다음'시간이 다른가요? – greenapps
xml 파일을 쓰는 카드를 추가하는 활동이 있습니다. 그런 다음이 조각을 다시 시작할 때 xml 파일을 다시 읽고 새 카드로 목록을 업데이트해야합니다.하지만 지금은 oncreate()가 다시 호출되지 않으면 목록을 업데이트하지 않습니다. – user3344484