Hej,
Mam pewien problem ze zmianą stanów aplikacji w jednym widoku
mam dwa stany pusty widok oraz listę . Na początku zrobiłam jak obiekt już jest dodany docelowej aktywności ukryłam emptyLayout jednocześnie odkryłam RecyclerView.
Problem jest taki ze jak usunę wszyskre obietky z podanej listy chciałby zeby pojawił się podany widok. Za bardzo nie wiem jak to zrobić
my contnet_drems
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBackground"
android:clickable="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:id="@+id/emptyLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/for_now_you_do_not_have_a_dream_n_add_dreams"
android:textColor="@color/colorWhite"
/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/myDreamsRecycleView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"/>
</FrameLayout>
public class MyDreamsFragment extends Fragment {
private static final int REQUEST_CODE_CREATE = 1;
@BindView(R.id.myDreamsRecycleView)
RecyclerView myDreamsRecycleView;
@BindView(R.id.emptyLayout)
LinearLayout emptyLayout;
private MyDreamAdapter myDreamAdapter;
private Unbinder unbinder;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
TextView title = (TextView) getActivity().findViewById(R.id.textToolbar);
title.setText(R.string.title_my_dreams);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View item = inflater.inflate(R.layout.content_my_drems, container, false);
unbinder = ButterKnife.bind(this, item);
return item;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
myDreamAdapter = new MyDreamAdapter(getActivity().getLayoutInflater());
myDreamsRecycleView.setLayoutManager(new LinearLayoutManager(getActivity()));
myDreamsRecycleView.setAdapter(myDreamAdapter);
ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
myDreamAdapter.removeDream(position);
SnackBarMessage("The dream has been removed.");
Toast.makeText(getActivity(), "dfsdfsd" + position, Toast.LENGTH_SHORT).show();
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
itemTouchHelper.attachToRecyclerView(myDreamsRecycleView);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_add, menu);
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_addream:
Intent intent = new Intent(getActivity(), AddDreamActivity.class);
startActivityForResult(intent, REQUEST_CODE_CREATE);
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_CODE_CREATE) {
if (data != null) {
DreamDatabase dreamDatabase = data.getParcelableExtra("dream");
myDreamAdapter.addDream(dreamDatabase);
emptyLayout.setVisibility(View.GONE);
myDreamsRecycleView.setVisibility(View.VISIBLE);
SnackBarMessage("Dream was added.");
}
}
} else {
SnackBarMessage("Dream was cancel.");
}
}