2015-03-09 3 views
-1

У меня есть старое имплантация, которая использует записи из базы данных и использует объект курсора для заполнения списка. Но в новой реализации у меня есть многомерный массив строк. С 12 столбцами и переменным числом строкиПреобразование многомерного массива строк в курсор

String[][] detailsarray; 

Мне нужно преобразовать этот массив строк в объект курсора, чтобы я мог повторно использовать старый код.

Используется, чтобы открыть новый фрагмент с адаптером список

private void callProductListFragment(Cursor cursor) { 
    productListFragment = new ProductListFragment(cursor); 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    ft.addToBackStack("list"); 
    ft.add(R.id.fl_container, productListFragment, "FragList").commit(); 
} 

---ProductListFragment.java

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.product_list_fragment,container, false); 
     product_list = (ListView) view.findViewById(R.id.product_list); 
     ProductAdapter productAdapter = new ProductAdapter(getActivity(), cursor, false); 
     product_list.setAdapter(productAdapter); 
     product_list.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       Cursor cursor = ((CursorAdapter) parent.getAdapter()).getCursor(); 
       cursor.moveToPosition(position); 
       ProductObject productObject = new ProductObject(String.valueOf(cursor.getInt(cursor.getColumnIndex(ProductsData._ID))),cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_ID)),cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_TITLE)),cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_DEALER_NAME)), cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_DEALER_DESC)), cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_DEALER_LOCATION)), cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_DEALER_ADDRESS)), cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_DEALER_TYPE)), cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_DEALER_NO)), cursor.getString(cursor.getColumnIndex(ProductsData.PRODUCT_IMAGE))); 
       productDeatailsFragment = new ProductDeatailsFragment(productObject); 
       FragmentTransaction ft = getFragmentManager().beginTransaction(); 
       ft.addToBackStack("details"); 
       ft.add(R.id.fl_container, productDeatailsFragment, "FragList").commit(); 
      } 
     }); 
     return view; 
} 

Как я могу сделать this..Please совет.

+0

попробовать 'MatrixCursor' я нашел подобный вопрос http://stackoverflow.com/questions/18290864/create-a- cursor-from-hardcoded-array-вместо-db – Nooh

+0

@Nooh Спасибо .. Но как я могу преобразовать, получить объект-курсор из «MatrixCursor» – techno

+0

проверить мой ответ, – Nooh

ответ

1

попробовать MatrixCursor я нашел подобный вопрос Create a cursor from hardcoded array instead of DB

MatrixCursor унаследованное от курсора

так что вы можете использовать

String[] columns = new String[] { "_id", "item", "description" }; 
Cursor cursor= new MatrixCursor(columns); 
+0

Спасибо, проверьте и верните – techno

Смежные вопросы