これはFragment
のコードの一部です。Android:notifyDataSetChanged()がフラグメント内で機能していません
private AlarmOptionItemListAdapter listAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_create_new_alarm, null);
listAdapter = new AlarmOptionItemListAdapter();
ListView lvAlarmOptionList = (ListView) view.findViewById(R.id.lvAlarmOptionList);
lvAlarmOptionList.setAdapter(listAdapter);
initializeListItems();
...
return view;
}
private void initializeListItems() {
itemAlarmLock = new TextOnlyItem();
itemAlarmLock.setTitle(getString(R.string.alarm_lock));
itemAlarmLock.setSubtitle(getString(R.string.choose_option));
listAdapter.addItem(itemAlarmLock);
listAdapter.notifyDataSetChanged();
}
今、私はこのFragment
でonActivityResult()
メソッドをオーバーライド。このコードから、私はListView
の項目のテキストを変更する予定です。
このonActivityResult()
は、Fragment
からデータを取得します。持って来たデータで、私はListView
のアイテムのテキストを新しいものに置き換えようとします。私はこのコードを実行すると
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK && data != null) {
switch(requestCode) {
case CODE_PIN:
String value = data.getStringExtra(Keys.VALUE);
if(value != null) {
Log.i(ApplicationManager.LOG, "PIN set to " + value);
itemAlarmLock.setSubtitle(getString(R.string.pin));
listAdapter.notifyDataSetChanged();
}
break;
case CODE_PASSWORD:
String password = data.getStringExtra(Keys.VALUE);
if(password != null) {
Log.i(ApplicationManager.LOG, "Password set to " + password);
itemAlarmLock.setSubtitle(getString(R.string.password));
listAdapter.notifyDataSetChanged();
}
break;
case CODE_PATTERN:
String pattern = data.getStringExtra(Keys.VALUE);
if(pattern != null) {
Log.i(ApplicationManager.LOG, "Pattern set to " + pattern);
itemAlarmLock.setSubtitle(getString(R.string.pattern));
listAdapter.notifyDataSetChanged();
}
break;
}
}
}
、私はLog
が適切に見せていたことが判明、何とかリストビューには、値を変更しません。
動作させるにはどうすればよいですか?
を助けるだろうが、私はあなたがそれにアイテムを追加したり、製作中されている場所を確認することはできませんonActivityResult。 – adalPaRi