2016-08-29 12 views
-2

私はListPragmentにJSONデータを非同期にロードするためにloopjを使用しています。私は、ListFragmentに付属しているループリストのOnSuccessコールバック関数でFillListViewメソッドを呼び出すデフォルトのリストビューを使用しています。私はこの問題に関する多くの同様の投稿を見回しましたが、私の問題は解決できません。 ListFragment非同期データを表示しません

は、私はまた、

MenuCatFragment.newInstance("a","c").setListAdapter(adapter); 

を呼び出すことにより、MainActivityからListFragmentをロードしようとしたが、これはあまりにも機能していません。

誰でも助けてください。

public class MenuCatFragment extends ListFragment {
  

//android studio auto-generated code ommitted  

public MenuCatFragment() { }
  


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (getArguments() != null) { 
     mParam1 = getArguments().getString(ARG_PARAM1); 
     mParam2 = getArguments().getString(ARG_PARAM2); 
    } 

    myApp = (App)this.getActivity().getApplication(); 
    currentRestoSummary = myApp.getSelectedRestoSummary(); 
    restoid = currentRestoSummary.getRestoid(); 

try { 
     LoadSelectedResto(); 
    } catch (Exception e) { 
    } 

} 

private void LoadSelectedResto() throws JSONException { 


    EatNowRestClient.get("resto", new RequestParams("id", restoid), new JsonHttpResponseHandler() { 


     @Override 
     public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 

      Gson gson = new Gson(); 
      Type listType = new TypeToken<Resto>() {}.getType(); 

      try { 
       resto = gson.fromJson(response.toString(), listType); 

       myApp.setSelectedResto(resto); 

       FillListView(); 

       //progressDialog.dismiss(); 


      } catch (Exception e) { 

       throw e; 
      } 
     } 


     @Override 
     public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 
      super.onFailure(statusCode, headers, throwable, errorResponse); 
      //progressDialog.dismiss(); 
      //Log.d("Failed: ", ""+statusCode); 
      //Log.d("Error : ", "" + throwable); 
     } 

    }); 

private void FillListView() { 

ListAdapter adapter; 

adapter = new customAdapterMenuCat(getActivity(),R.layout.custom_row_menucat,resto.getMenu_Categories()); 

setListAdapter(adapter); 

    } 


} 

//adapter code 

public class customAdapterMenuCat extends ArrayAdapter<MenuCategory> { 

MenuCategory[] menucat; 
Context c; 

public customAdapterMenuCat(Context context, int resource, MenuCategory[] objects) { 
    super(context, resource, objects); 

    menucat = objects; 
    c = context; 
} 

@Override 
public int getCount() { 
    return menucat.length; 
} 

@Override 
public MenuCategory getItem(int position) { 
    return menucat[position]; 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    View customview = View.inflate(c, R.layout.custom_row_menucat,null); 

    TextView lblMenuCatNameResto = (TextView)customview.findViewById(R.id.lblMenuCat); 

    lblMenuCatNameResto.setText(menucat[position].getName()); 

    return customview; 


} 

}

+0

LoadSelectedResto()メソッドの呼び出しはありません。 –

+0

申し訳ありません...貼り付けたばかりです... OnCreate()メソッドにあります。 –

+0

「アダプタ」コードを入力してください。この問題はおそらくそこにあります。 –

答えて

0

私は解決策を見つけた...問題は、以下の... fragmenttabhostレイアウトXMLとした作業です。

<android.support.v4.app.FragmentTabHost 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/tabResto"> 

    <FrameLayout 
     android:id="@android:id/tabcontent" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom"/> 

     <FrameLayout 
      android:id="@+id/realtabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"/> 

    </LinearLayout> 
</android.support.v4.app.FragmentTabHost> 
関連する問題