안녕하세요.
listview adapter를 통해 listview에 아이템들을 출력하고
그리고 난 후 필터링까지 했습니다.
그리고 listview에서 아이템을 들어갔을 경우 해당 item의 상세 내용을 알려주고
그 후 즐겨찾기를 추가하면
즐겨찾기한 아이템만 추가적으로 보여줄려고 하는데.
계속 오류가 나서 이렇게 글을 올립니다.
우선 즐겨찾기 한것보다 전체 item을 sharedpreference에 저장을 한 후 즐겨찾기에서 전체 저장된 부분을
출력하여 테스트 하는데도 오류가 나서 이렇게 글을 남깁니다.
fragment 에서 item들 추가
mListView= (ListView) view.findViewById(R.id.recipe_listview);
adapter = new ListViewAdapter(getActivity()) ;
recipe_additem();
mListView.setAdapter(adapter) ;
mListView.setOnItemClickListener( new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
int imgRes = ((ListViewItem)adapter.getItem(position)).getResId();
String pos = String.valueOf(imgRes);
Log.d(TAG, "포지션 값 보자:" +pos);
Intent detail_activity = new Intent(getActivity(), detailActivity. class );
detail_activity.putExtra( "detail" ,pos);
startActivity(detail_activity);
}
}) ;
|
public void recipe_additem(){
adapter.addItem( 0 ,ContextCompat.getDrawable(getActivity(), R.mipmap.sweetpotato), getResources().getString(R.string.ricegruel),getResources().getString(R.string.r1));
adapter.addItem( 1 ,ContextCompat.getDrawable(getActivity(), R.mipmap.zucchini), getResources().getString(R.string.ricegruel),getResources().getString(R.string.r2));
adapter.addItem( 2 ,ContextCompat.getDrawable(getActivity(), R.mipmap.bokchoy), getResources().getString(R.string.ricegruel),getResources().getString(R.string.r3));
}
|
listviewadapter
아래에서 sharedPreference에 모든 아이템을 추가할려고 하니.. 하단부와 같은 에러 발생하였습니다.
private List<ListViewItem> listViewItemList = new ArrayList<ListViewItem>() ;
|
public void addItem( int count, Drawable icon, String title, String desc) {
sharedPreference = new SharedPreference();
ListViewItem item = new ListViewItem();
item.setResId(count);
item.setIcon(icon);
item.setTitle(title);
item.setDesc(desc);
if (SharedPreferenceUtil.getSharedPreference(textcontext,String.valueOf(count))!= null ) {
item.setFavorite( "favorite" );
} else {
item.setFavorite( null );
}
listViewItemList.add(item);
sharedPreference.addFavorite(textcontext, listViewItemList.get(count));
}
|
에러
java.lang.RuntimeException: Unable to start activity ComponentInfo{company.nuc.testapp.kuvings_app/company.nuc.testapp.kuvings_app.MainActivity}: java.lang.IllegalArgumentException: class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations
Caused by: java.lang.IllegalArgumentException: class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations
at company.nuc.testapp.recipe.SharedPreference.storeFavorites(SharedPreference.java: 33 )
at company.nuc.testapp.recipe.SharedPreference.addFavorite(SharedPreference.java: 63 )
at company.nuc.testapp.recipe.ListViewAdapter.addItem(ListViewAdapter.java: 118 )
at company.nuc.testapp.recipe.RecipeFragment.recipe_additem(RecipeFragment.java: 127 )
at company.nuc.testapp.recipe.RecipeFragment.onCreateView(RecipeFragment.java: 74 )
|
sharedpreferece
아래 사이트 바탕으로 하였습니다.
http://androidopentutorials.com/android-how-to-store-list-of-values-in-sharedpreferences/