У меня есть основное действие со многими фрагментами, один из которых содержит представление списка, с адаптером homeworkListAdapter
, этот адаптер отображает все элементы, начальные в homeworkItems
. Моя активность открывает другую активность (HomeworkAddActivity
, которая получает строку от пользователя и помещает ее в массив homeworkItems
, все это работает, поскольку я проверял каждый шаг независимо друг от друга. Однако, когда я пытаюсь обновить представление списка с помощью этого нового элемента (используя .notifyDataSetChanged
) не обновляется, уже 3-4 часа пытаюсь это исправить, помогите пожалуйста.
Код
MainActivity
public static ArrayAdapter<String> homeworkListAdapter;
public static ArrayList<String> homeworkItems;
....
protected void onCreate(Bundle savedInstanceState) {
....
homeworkItems = new ArrayList<String>();
homeworkListAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, homeworkItems);
....
public static class HomeworkListViewFragment extends Fragment {
....
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(
R.layout.fragment_homework_listview, container, false);
homeworkListView = (ListView) rootView
.findViewById(R.id.homework_listview);
homeworkListView.setAdapter(homeworkListAdapter);
return rootView;
}
HomeworkAddActivity
public class HomeworkAddActivity extends ActionBarActivity {
....
public void buttonAddHomework(View v) {
NavUtils.navigateUpFromSameTask(this);
EditText editText = (EditText) findViewById(R.id.text_new_homework_name);
String homeworkItem = (String) editText.getText().toString();
if (!(TextUtils.isEmpty(homeworkItem))) {
//MainActivity.homeworkList.addItem(homeworkItem);
MainActivity.homeworkItems.add(homeworkItem);
MainActivity.homeworkListAdapter.notifyDataSetChanged();
}
}
}
if (!(homeworkItem == null))
не пройдет? ты проверял? Также попробуйте использоватьif (!TextUtils.isEmpty(homeworkItem))
- он проверяет как нулевую, так и пустую строку. - person Stan   schedule 13.04.2014get(0)
) вhomeworkItems
, комментируяnavigateUp
, и это сработало нормально, так что все это работает. - person ollie299792458   schedule 13.04.2014