2016-05-12 174 views
0

我正在使用slidingtablayout。有5個選項卡,我用不同的json請求中的listview填充每個選項卡。我需要獲得點擊列表視圖中某一項的標籤的名稱或標識如何獲取標籤名稱

回答

0

您將需要向我們提供您當前的代碼或實現 - 這將爲我們提供關於來幫你。

但我對你實施的第一個猜測:我假設當你說SlidingTabLayout你指的是概述了Android開發者代碼:https://developer.android.com/samples/SlidingTabsBasic/src/com.example.android.common/view/SlidingTabLayout.html#l199

如果是這樣的話,你可以在模板中獲取的標籤名稱當標籤被點擊,並在點擊監聽器註冊尋呼機:

private class TabClickListener implements View.OnClickListener { 
     @Override 
     public void onClick(View v) { 
      for (int i = 0; i < mTabStrip.getChildCount(); i++) { 
       if (v == mTabStrip.getChildAt(i)) { 
        mViewPager.setCurrentItem(i); 
        //Get tab name from mViewPager - differs based on your implementation 
        return; 
       } 
      } 
     } 
    } 
+0

就如何落實這 – ddnice

0

是是一個在Android開發者概述 好吧,這裏的情況是

 @Override 
      public Object instantiateItem(ViewGroup container, int position) { 

       View view=null; 
       if(position == 0){ 
        view = getActivity().getLayoutInflater().inflate(R.layout.pager_item,container, false); 
        homeList = (ListView) view.findViewById(R.id.home_list); 
        queryImp(view, ""); 
        homeJSONAdapter = new JSONAdapter(getActivity(), getActivity().getLayoutInflater()); 

        homeList.setAdapter(homeJSONAdapter); 
        homeList.setOnItemClickListener(this); 


       }else{ 
        view = getActivity().getLayoutInflater().inflate(R.layout.other_pager_item,container, false); 
        otherList = (ListView) view.findViewById(R.id.other_list); 
        queryImp(view, "other"); 
        otherJSONAdapter = new JSONAdapterOther(getActivity(), getActivity().getLayoutInflater()); 

        otherList.setAdapter(ekonomiaJSONAdapter); 
        otherList.setOnItemClickListener(this); 

       } 

       container.addView(view); 

       view.findViewById(R.id.item_title); 

       return view; 
      } 

this is the code that populates the tabs on SlidingTabsBasicFragment and the following is the onclick for the items of the lists 

@Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 


      if(position == 0) 
      { 

       JSONObject jsonObject = (JSONObject) homeJSONAdapter.getItem(position); 
       String imageURL = jsonObject.optString("img_url"); 
       String artText = jsonObject.optJSONObject("content").optString("rendered"); 
       String artTitle = jsonObject.optJSONObject("title").optString("rendered"); 


       Intent detailIntent = new Intent(getActivity(), SingleArticle.class); 


       detailIntent.putExtra("imgURL", imageURL); 
       detailIntent.putExtra("articleText", artText); 
       detailIntent.putExtra("articleTitle", artTitle); 

       startActivity(detailIntent); 

      }else{ 


       JSONObject jsonObject1 = (JSONObject) otherJSONAdapter.getItem(position); 
       String imageURL1 = jsonObject1.optString("img_url"); 
       String artText1 = jsonObject1.optJSONObject("content").optString("rendered"); 
       String artTitle1 = jsonObject1.optJSONObject("title").optString("rendered"); 

       y 
       Intent detailIntent1 = new Intent(getActivity(), SingleArticleOther.class); 


       detailIntent1.putExtra("imgURL1", imageURL1); 
       detailIntent1.putExtra("articleText1", artText1); 
       detailIntent1.putExtra("articleTitle1", artTitle1); 


       startActivity(detailIntent1); 

      } 

基本上,它所做的只是點擊列表中的項目並獲取完整的文章閱讀。出於某種原因,這一切都變得混亂。 (當我做了一個日誌的位置,它獲得了列表中的項目的位置,而不是該標籤的位置)當我嘗試點擊homeJsonAdapter的項目時,它會轉到otherJsonAdapter的項目。我不知道爲什麼。 所以我想要做的就是讓其中的列表視圖是基於該名稱的標籤名稱,創建JsonAdapter並獲得文章

+0

就如何落實這一任何想法,任何幫助 – ddnice

+0

其確定,我在這篇文章中找到了解決方案http://stackoverflow.com/questions/7580991/how-to-make-more-than-one-listview-respond-for-different-onitemclicklistener – ddnice