Back to project page ShareList-Android.
The source code is released under:
GNU General Public License
If you think the Android project ShareList-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package org.mybop.sharelist.app.view; /*w ww. ja v a 2s .c om*/ import android.database.Cursor; import android.os.Bundle; import android.text.Editable; import android.view.View; import android.view.ViewStub; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import com.j256.ormlite.stmt.GenericRowMapper; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Background; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EFragment; import org.androidannotations.annotations.OptionsItem; import org.androidannotations.annotations.OptionsMenu; import org.androidannotations.annotations.SystemService; import org.androidannotations.annotations.TextChange; import org.androidannotations.annotations.ViewById; import org.mybop.sharelist.app.R; import org.mybop.sharelist.app.control.DetailController; import org.mybop.sharelist.app.database.entity.ElementEntity; import org.mybop.sharelist.app.database.entity.ListEntity; import org.mybop.sharelist.app.view.support.ListFragment; import java.util.Arrays; @EFragment(R.layout.fragment_detail) @OptionsMenu(R.menu.listedition) public class DetailFragment extends ListFragment implements ListFragment.OnItemDeletionListener, ListFragment.OnItemSelectionListener { private static final String LOGGER_TAG = DetailFragment.class.getSimpleName(); private ListEntity list; private DetailAdapter detailAdapter; @ViewById(R.id.listNameEdit) protected EditText listNameEdit; @SystemService protected InputMethodManager inputMethodManager; private boolean viewInitialized = false; private boolean dataInitialized = false; private boolean selectText = false; @ViewById(R.id.listEmpty) protected ViewStub empty; @AfterViews protected void initViews() { empty.setOnInflateListener(new ViewStub.OnInflateListener() { @Override public void onInflate(ViewStub stub, View inflated) { inflated.findViewById(R.id.addElementButton).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { addElement(); } }); } }); } public void setData(ListEntity list, Cursor data, GenericRowMapper<ElementEntity> mapper) { this.list = list; detailAdapter = new DetailAdapter(getActivity(), data, mapper); setAdapter(detailAdapter); dataInitialized = true; init(); } public void updateData(Cursor data) { detailAdapter.changeCursor(data); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); setOnItemDeletionListener(this); setOnItemSelectionListener(this); viewInitialized = true; selectText = savedInstanceState != null && ((DetailController) getActivity()).isNewlyCreated(); init(); } private void init() { if (!viewInitialized || !dataInitialized) return; listNameEdit.setText(list.getName()); if (selectText) { listNameEdit.postDelayed(new Runnable() { @Override public void run() { listNameEdit.requestFocus(); Editable editable = listNameEdit.getText(); assert editable != null; listNameEdit.setSelection(editable.length()); inputMethodManager.showSoftInput(listNameEdit, InputMethodManager.SHOW_IMPLICIT); } }, 200); } } @Click(R.id.addElementButton) @OptionsItem(R.id.action_add_element) protected void addElement() { ((DetailController) getActivity()).addNewElement(); } @OptionsItem(R.id.action_delete) protected void deleteCompletely() { ((DetailController) getActivity()).deleteCompletely(); } @TextChange(R.id.listNameEdit) @Background protected void updateListName(CharSequence txt) { ((DetailController) getActivity()).updateName(txt.toString()); } @Override public void onItemDeletion(Object[] deletedItems) { ((DetailController) getActivity()).deleteAll(Arrays.copyOf(deletedItems, deletedItems.length, ElementEntity[].class)); } @Override public void onItemSelection(Object selectedItem) { ((DetailController) getActivity()).edit((ElementEntity) selectedItem); } }