2012-03-06 126 views
0

我在我的应用程序中使用片段。它是用于制表符功能。在一个标签中,我需要在viewflipper中显示一个列表。列表视图是一个单独的xml文件。我用视图扩充了列表视图flipper.list视图的内容(列表项)是另一个xml文件,它包含四个文本视图。文本视图的值是动态设置的。我为此创建了一个名为store adapter的自定义适配器。但问题是我不能在我的程序中使用这个存储适配器。当我使用它时,它不显示值。因为列表视图项目是一个单独的文件,我无法扩展listfragment以及。我不知道我应该怎么做来显示我的内容..given下面是我的code.plz帮助我。片段的适配器

public class TabStoreLocatorFragment extends Fragment implements OnClickListener { 

private Button mapSwitcher; 
private LinearLayout lastSelectedStoreButton; 
private LinearLayout noSelectedStoreSection; 
private TextView storeInfoName; 
private TextView storeInfoAddress; 
private TextView storeInfoCity; 
private RelativeLayout phoneLocationButton; 
private EditText searchStoreLocation; 
private ListView storeList; 
private ViewFlipper storeFlipper; 
private LinearLayout theLayout; 
private Store store; 
private Context context; 
private String searchStoreText; 

//private ProgressDialog findStoreProgressDialog; 
//private StoreItemizedOverlay<StoreOverlayItem> storeOverlay; 
//private List<Overlay> mapOverlays; 
//private Drawable storePin; 

@SuppressWarnings("static-access") 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    if (container == null) { 
     // We have different layouts, and in one of them this 
     // fragment's containing frame doesn't exist. The fragment 
     // may still be created from its saved state, but there is 
     // no reason to try to create its view hierarchy because it 
     // won't be displayed. Note this is not needed -- we could 
     // just run the code below, where we would create and return 
     // the view hierarchy; it would just never be used. 
     return null; 
    } 


    context=getActivity().getApplicationContext(); 
    theLayout = (LinearLayout) inflater.inflate(
      R.layout.tab_store_locator_layout, container, false); 

    phoneLocationButton = (RelativeLayout) theLayout.findViewById(R.id.phone_location_button); 
    mapSwitcher=(Button)theLayout.findViewById(R.id.switch_state_button); 
    lastSelectedStoreButton=(LinearLayout)theLayout.findViewById(R.id.last_selected_store_button); 
    noSelectedStoreSection=(LinearLayout)theLayout.findViewById(R.id.no_selected_store); 
    storeInfoName=(TextView)theLayout.findViewById(R.id.store_name); 
    storeInfoAddress=(TextView)theLayout.findViewById(R.id.store_address); 
    storeInfoCity=(TextView)theLayout.findViewById(R.id.store_city); 
    searchStoreLocation=(EditText)theLayout.findViewById(R.id.search_store); 
    storeFlipper = (ViewFlipper)theLayout.findViewById(R.id.store_flipper); 
    storeList = (ListView)inflater.inflate(R.layout.store_list, null); 
    storeFlipper.addView(storeList); 

    store=new Store(); 
    store.setName("store1"); 
    store.setAddress("california"); 
    store.setCity("newyork"); 
    store.setZipCode("23"); 
    store.setState("california"); 

    phoneLocationButton.setOnClickListener(this); 
    mapSwitcher.setOnClickListener(this); 
    lastSelectedStoreButton.setOnClickListener(this); 
    return theLayout; 

} 


@Override 
public void onClick(View view) { 
    int id = view.getId(); 
    if (id == R.id.phone_location_button) { 

     searchStoreText=searchStoreLocation.getText().toString(); 


     @SuppressWarnings("unchecked") 
     StoreAdapter adapter = new StoreAdapter(context, R.layout.store_list_item); 

     storeList.setAdapter(adapter); 



    } 
    else if(id == R.id.switch_state_button){ 

    } 
    else{ 


    } 


} 

    } 

回答

1

自定义列表适配器将工作。