2017-03-31 27 views
0

これは修正しようとしているプロジェクトです。プロジェクトは断片的に作られています。購入と販売のためのオンライン市場。以下のコードは、アプリケーションのランチ/オープン時にサーバーからデータを自動的に取得するのに役立ちます。しかし、私はそれが自動的にデータをロードしたくないが、ユーザーがボタンを押すと、サーバーからコンテンツを取得します。以下のMETHOD_STREAM_GETはボタンクリックしてURLデータからデータをロード

です。public static final String METHOD_STREAM_GET = API_DOMAIN + "api /" + API_VERSION + "/method/stream.get" + API_FILE_EXTENSION;

パッケージml.shopnet.market;

パブリッククラスStreamFragmentは、フラグメントは定数を実装SwipeRefreshLayout.OnRefreshListener {

private static final String STATE_LIST = "State Adapter Data"; 
private static final String STATE_LIST_2 = "State Adapter Data"; 

private static final int PROFILE_NEW_POST = 4; 

RecyclerView mRecyclerView; 
TextView mMessage; 

SwipeRefreshLayout mItemsContainer; 

FloatingActionButton mFabButton; 

Button login; 
GridView gridView; 

private ArrayList<Item> itemsList; 
private StreamListAdapter itemsAdapter; 

private Parcelable mListState; 

private int itemId = 0; 
private int arrayLength = 0; 
private Boolean loadingMore = false; 
private Boolean viewMore = false; 
private Boolean restore = false; 

int pastVisiblesItems = 0, visibleItemCount = 0, totalItemCount = 0; 

public StreamFragment() { 
    // Required empty public constructor 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    if (savedInstanceState != null) { 

     itemsList = savedInstanceState.getParcelableArrayList(STATE_LIST_2); 
     itemsAdapter = new StreamListAdapter(getActivity(), itemsList); 

     restore = savedInstanceState.getBoolean("restore"); 
     itemId = savedInstanceState.getInt("itemId"); 

     viewMore = savedInstanceState.getBoolean("viewMore"); 

    } else { 

     itemsList = new ArrayList<>(); 
     itemsAdapter = new StreamListAdapter(getActivity(), itemsList); 

     restore = false; 
     itemId = 0; 
    } 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_latest, container, false); 
    mItemsContainer = (SwipeRefreshLayout) rootView.findViewById(R.id.container_items); 
    mItemsContainer.setOnRefreshListener(this); 

    mMessage = (TextView) rootView.findViewById(R.id.message); 

    mFabButton = (FloatingActionButton) rootView.findViewById(R.id.fabButton); 
    mFabButton.setImageResource(R.drawable.ic_action_new); 

    if (App.getInstance().getId() == 0) { 

     mFabButton.setVisibility(View.GONE); 
    } 






    mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view); 

    final GridLayoutManager mLayoutManager = new GridLayoutManager(getActivity(), Helper.getGridSpanCount(getActivity())); 
    mRecyclerView.setLayoutManager(mLayoutManager); 
    mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(Helper.getGridSpanCount(getActivity()), dpToPx(10), true)); 
    mRecyclerView.setItemAnimator(new DefaultItemAnimator()); 

    mRecyclerView.setAdapter(itemsAdapter); 

    mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() 
    { 
     @Override 
     public void onScrolled(RecyclerView recyclerView, int dx, int dy) 
     { 
      if(dy > 0) //check for scroll down 
      { 
       visibleItemCount = mLayoutManager.getChildCount(); 
       totalItemCount = mLayoutManager.getItemCount(); 
       pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition(); 

       if (!loadingMore) 
       { 
        if ((visibleItemCount + pastVisiblesItems) >= totalItemCount && (viewMore) && !(mItemsContainer.isRefreshing())) 
        { 
         loadingMore = true; 
         Log.e("...", "Last Item Wow !"); 

         getItems(); 
        } 
       } 
      } 
     } 
    }); 

    mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), mRecyclerView, new RecyclerItemClickListener.OnItemClickListener() { 
     @Override 
     public void onItemClick(View view, int position) { 

      Item i = (Item) itemsList.get(position); 

      Intent intent = new Intent(getActivity(), ViewItemActivity.class); 
      intent.putExtra("itemId", i.getId()); 
      startActivity(intent); 
     } 

     @Override 
     public void onItemLongClick(View view, int position) { 
      // ... 
     } 
    })); 

    mFabButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent intent = new Intent(getActivity(), NewItemActivity.class); 
      startActivityForResult(intent, STREAM_NEW_POST); 
     } 
    }); 

    if (itemsAdapter.getItemCount() == 0) { 

     showMessage(getText(R.string.label_empty_list).toString()); 

    } else { 

     hideMessage(); 
    } 

    if (!restore) { 

     showMessage(getText(R.string.msg_loading_2).toString()); 

     getItems(); 
    } 

    return rootView; 
} 

static class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { 

    public interface OnItemClickListener { 

     void onItemClick(View view, int position); 

     void onItemLongClick(View view, int position); 
    } 

    private OnItemClickListener mListener; 

    private GestureDetector mGestureDetector; 

    public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) { 

     mListener = listener; 

     mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { 
      @Override 
      public boolean onSingleTapUp(MotionEvent e) { 

       return true; 
      } 

      @Override 
      public void onLongPress(MotionEvent e) { 

       View childView = recyclerView.findChildViewUnder(e.getX(), e.getY()); 

       if (childView != null && mListener != null) { 

        mListener.onItemLongClick(childView, recyclerView.getChildAdapterPosition(childView)); 
       } 
      } 
     }); 
    } 

    @Override 
    public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { 

     View childView = view.findChildViewUnder(e.getX(), e.getY()); 

     if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { 

      mListener.onItemClick(childView, view.getChildAdapterPosition(childView)); 
     } 

     return false; 
    } 

    @Override 
    public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { 

    } 

    @Override 
    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { 

    } 
} 

/** 
* RecyclerView item decoration - give equal margin around grid item 
*/ 
public class GridSpacingItemDecoration extends RecyclerView.ItemDecoration { 

    private int spanCount; 
    private int spacing; 
    private boolean includeEdge; 

    public GridSpacingItemDecoration(int spanCount, int spacing, boolean includeEdge) { 

     this.spanCount = spanCount; 
     this.spacing = spacing; 
     this.includeEdge = includeEdge; 
    } 

    @Override 
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { 

     int position = parent.getChildAdapterPosition(view); // item position 
     int column = position % spanCount; // item column 

     if (includeEdge) { 

      outRect.left = spacing - column * spacing/spanCount; // spacing - column * ((1f/spanCount) * spacing) 
      outRect.right = (column + 1) * spacing/spanCount; // (column + 1) * ((1f/spanCount) * spacing) 

      if (position < spanCount) { // top edge 

       outRect.top = spacing; 
      } 

      outRect.bottom = spacing; // item bottom 

     } else { 

      outRect.left = column * spacing/spanCount; // column * ((1f/spanCount) * spacing) 
      outRect.right = spacing - (column + 1) * spacing/spanCount; // spacing - (column + 1) * ((1f/ spanCount) * spacing) 

      if (position >= spanCount) { 

       outRect.top = spacing; // item top 
      } 
     } 
    } 
} 

/** 
* Converting dp to pixel 
*/ 
private int dpToPx(int dp) { 

    Resources r = getResources(); 

    return Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, r.getDisplayMetrics())); 
} 

@Override 
public void onSaveInstanceState(Bundle outState) { 

    super.onSaveInstanceState(outState); 

    outState.putBoolean("viewMore", viewMore); 

    outState.putBoolean("restore", true); 
    outState.putInt("itemId", itemId); 

    mListState = mRecyclerView.getLayoutManager().onSaveInstanceState(); 
    outState.putParcelable(STATE_LIST, mListState); 

    outState.putParcelableArrayList(STATE_LIST_2, itemsList); 
} 

@Override 
public void onRefresh() { 

    if (App.getInstance().isConnected()) { 

     itemId = 0; 
     getItems(); 

    } else { 

     mItemsContainer.setRefreshing(false); 
    } 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 

    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == STREAM_NEW_POST && resultCode == getActivity().RESULT_OK && null != data) { 

     itemId = 0; 
     getItems(); 

    } else if (requestCode == ITEM_EDIT && resultCode == getActivity().RESULT_OK) { 

     int position = data.getIntExtra("position", 0); 

     Item item = itemsList.get(position); 

     item.setContent(data.getStringExtra("post")); 
     item.setImgUrl(data.getStringExtra("imgUrl")); 

     itemsAdapter.notifyDataSetChanged(); 
    } 
} 

public void showToast(String msg) { 
    Toast.makeText(getActivity(), msg, Toast.LENGTH_LONG).show(); 
} 


    @Override 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
     LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     View row=inflater.inflate(R.layout.cell_categories, parent, false); 

     ImageView myimage= (ImageView) row.findViewById(R.id.img); 

     TextView mytitle= (TextView) row.findViewById(R.id.category); 

     myimage.setImageResource(image[position]); 

     mytitle.setText(title[position]); 


     return row; 
    } 
} 

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 

    super.onCreateOptionsMenu(menu, inflater); 
} 

public void getItems() { 

    mItemsContainer.setRefreshing(true); 

    CustomRequest jsonReq = new CustomRequest(Request.Method.POST, METHOD_STREAM_GET, null, 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 

        if (!isAdded() || getActivity() == null) { 

         Log.e("ERROR", "StreamFragment Not Added to Activity"); 

         return; 
        } 

        if (!loadingMore) { 

         itemsList.clear(); 
        } 

        try { 

         arrayLength = 0; 

         if (!response.getBoolean("error")) { 

          itemId = response.getInt("itemId"); 

          if (response.has("items")) { 

           JSONArray itemsArray = response.getJSONArray("items"); 

           arrayLength = itemsArray.length(); 

           if (arrayLength > 0) { 

            for (int i = 0; i < itemsArray.length(); i++) { 

             JSONObject itemObj = (JSONObject) itemsArray.get(i); 

             Item item = new Item(itemObj); 

             itemsList.add(item); 
            } 
           } 
          } 
         } 

        } catch (JSONException e) { 

         e.printStackTrace(); 

        } finally { 

         loadingComplete(); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

      if (!isAdded() || getActivity() == null) { 

       Log.e("ERROR", "StreamFragment Not Added to Activity"); 

       return; 
      } 

      loadingComplete(); 
     } 
    }) { 

     @Override 
     protected Map<String, String> getParams() { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("accountId", Long.toString(App.getInstance().getId())); 
      params.put("accessToken", App.getInstance().getAccessToken()); 
      params.put("itemId", Integer.toString(itemId)); 
      params.put("language", "en"); 

      return params; 
     } 
    }; 

    App.getInstance().addToRequestQueue(jsonReq); 
} 

public void loadingComplete() { 

    if (arrayLength == LIST_ITEMS) { 

     viewMore = true; 

    } else { 

     viewMore = false; 
    } 

    itemsAdapter.notifyDataSetChanged(); 

    if (itemsAdapter.getItemCount() == 0) { 

     if (StreamFragment.this.isVisible()) { 

      showMessage(getText(R.string.label_empty_list).toString()); 
     } 

    } else { 
     hideMessage(); 
    } 
    loadingMore = false; 
    mItemsContainer.setRefreshing(false); 
} 
public void showMessage(String message) { 

    mMessage.setText(message); 
    mMessage.setVisibility(View.VISIBLE); 
} 

public void hideMessage() { 

    mMessage.setVisibility(View.GONE); 
} 

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 
} 

@Override 
public void onDetach() { 
    super.onDetach(); 
} 

}延び

こんにちはまた、別の問題を有しています。最初のコードを解決していただきありがとうございます。下のコードはcategories.javaからデータを受け取っていますが、カテゴリからIDを受け取るよりもid 5のような1つのカテゴリIDを持つカテゴリを開くように変更したいのです。 "

パッケージml.shopnet.market;

パブリッククラスCategoryFragmentは、フラグメントは、定数を実装して拡張し、SwipeRefreshLayout.OnRefreshListener {

private static final String STATE_LIST = "State Adapter Data"; 

RecyclerView mRecyclerView; 
TextView mMessage; 

SwipeRefreshLayout mItemsContainer; 

private ArrayList<Item> itemsList; 
private StreamListAdapter itemsAdapter; 

private int categoryId = 0; 

private int itemId = 0; 
private int arrayLength = 0; 
private Boolean loadingMore = false; 
private Boolean viewMore = false; 
private Boolean restore = false; 

private String title = ""; 

int pastVisiblesItems = 0, visibleItemCount = 0, totalItemCount = 0; 

public CategoryFragment() { 
    // Required empty public constructor 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    if (savedInstanceState != null) { 

     itemsList = savedInstanceState.getParcelableArrayList(STATE_LIST); 
     itemsAdapter = new StreamListAdapter(getActivity(), itemsList); 

     restore = savedInstanceState.getBoolean("restore"); 
     itemId = savedInstanceState.getInt("itemId"); 
     categoryId = savedInstanceState.getInt("categoryId"); 
     title = savedInstanceState.getString("title"); 

     viewMore = savedInstanceState.getBoolean("viewMore"); 

    } else { 

     itemsList = new ArrayList<Item>(); 
     itemsAdapter = new StreamListAdapter(getActivity(), itemsList); 

     restore = false; 
     itemId = 0; 
     categoryId = 0; 

     Intent i = getActivity().getIntent(); 

     title = i.getStringExtra("title"); 
     categoryId = i.getIntExtra("categoryId", 0); 
    } 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_category, container, false); 

    mItemsContainer = (SwipeRefreshLayout) rootView.findViewById(R.id.container_items); 
    mItemsContainer.setOnRefreshListener(this); 

    mMessage = (TextView) rootView.findViewById(R.id.message); 

    mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view); 

    final GridLayoutManager mLayoutManager = new GridLayoutManager(getActivity(), Helper.getGridSpanCount(getActivity())); 
    mRecyclerView.setLayoutManager(mLayoutManager); 
    mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(Helper.getGridSpanCount(getActivity()), dpToPx(10), true)); 
    mRecyclerView.setItemAnimator(new DefaultItemAnimator()); 

    mRecyclerView.setAdapter(itemsAdapter); 

    mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() 
    { 
     @Override 
     public void onScrolled(RecyclerView recyclerView, int dx, int dy) 
     { 
      if(dy > 0) //check for scroll down 
      { 
       visibleItemCount = mLayoutManager.getChildCount(); 
       totalItemCount = mLayoutManager.getItemCount(); 
       pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition(); 

       if (!loadingMore) 
       { 
        if ((visibleItemCount + pastVisiblesItems) >= totalItemCount && (viewMore) && !(mItemsContainer.isRefreshing())) 
        { 
         loadingMore = true; 
         Log.e("...", "Last Item Wow !"); 

         getItems(); 
        } 
       } 
      } 
     } 
    }); 

    mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), mRecyclerView, new RecyclerItemClickListener.OnItemClickListener() { 
     @Override 
     public void onItemClick(View view, int position) { 

      Item i = (Item) itemsList.get(position); 

      Intent intent = new Intent(getActivity(), ViewItemActivity.class); 
      intent.putExtra("itemId", i.getId()); 
      startActivity(intent); 
     } 

     @Override 
     public void onItemLongClick(View view, int position) { 
      // ... 
     } 
    })); 

    if (itemsAdapter.getItemCount() == 0) { 

     showMessage(getText(R.string.label_empty_list).toString()); 

    } else { 

     hideMessage(); 
    } 

    if (title != null) { 

     getActivity().setTitle(title); 
    } 

    if (!restore) { 

     showMessage(getText(R.string.msg_loading_2).toString()); 

     getItems(); 
    } 

    return rootView; 
} 

@Override 
public void onSaveInstanceState(Bundle outState) { 

    super.onSaveInstanceState(outState); 

    outState.putBoolean("viewMore", viewMore); 
    outState.putBoolean("restore", true); 
    outState.putInt("itemId", itemId); 
    outState.putInt("categoryId", categoryId); 
    outState.putString("title", title); 
    outState.putParcelableArrayList(STATE_LIST, itemsList); 
} 

@Override 
public void onRefresh() { 

    if (App.getInstance().isConnected()) { 

     itemId = 0; 
     getItems(); 

    } else { 

     mItemsContainer.setRefreshing(false); 
    } 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 

    super.onActivityResult(requestCode, resultCode, data); 
} 

public void getItems() { 

    mItemsContainer.setRefreshing(true); 

    CustomRequest jsonReq = new CustomRequest(Request.Method.POST, METHOD_CATEGORY_GET, null, 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 

        if (!isAdded() || getActivity() == null) { 

         Log.e("ERROR", "CategoryFragment Not Added to Activity"); 

         return; 
        } 

        if (!loadingMore) { 

         itemsList.clear(); 
        } 

        try { 

         arrayLength = 0; 

         if (!response.getBoolean("error")) { 

          itemId = response.getInt("itemId"); 
          categoryId = response.getInt("categoryId"); 

          if (response.has("items")) { 

           JSONArray itemsArray = response.getJSONArray("items"); 

           arrayLength = itemsArray.length(); 

           if (arrayLength > 0) { 

            for (int i = 0; i < itemsArray.length(); i++) { 

             JSONObject itemObj = (JSONObject) itemsArray.get(i); 

             Item item = new Item(itemObj); 

             itemsList.add(item); 
            } 
           } 
          } 
         } 

        } catch (JSONException e) { 

         e.printStackTrace(); 

        } finally { 

         loadingComplete(); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

      if (!isAdded() || getActivity() == null) { 

       Log.e("ERROR", "CategoryFragment Not Added to Activity"); 

       return; 
      } 

      loadingComplete(); 
     } 
    }) { 

     @Override 
     protected Map<String, String> getParams() { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("accountId", Long.toString(App.getInstance().getId())); 
      params.put("accessToken", App.getInstance().getAccessToken()); 
      params.put("itemId", Long.toString(itemId)); 
      params.put("categoryId", Integer.toString(categoryId)); 
      params.put("language", "en"); 

      return params; 
     } 
    }; 

    App.getInstance().addToRequestQueue(jsonReq); 
} 

public void loadingComplete() { 

    if (arrayLength == LIST_ITEMS) { 

     viewMore = true; 

    } else { 

     viewMore = false; 
    } 

    itemsAdapter.notifyDataSetChanged(); 

    if (mRecyclerView.getAdapter().getItemCount() == 0) { 

     if (isAdded()) { 

      showMessage(getText(R.string.label_empty_list).toString()); 
     } 

    } else { 

     hideMessage(); 
    } 

    loadingMore = false; 
    mItemsContainer.setRefreshing(false); 
} 

static class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { 

    public interface OnItemClickListener { 

     void onItemClick(View view, int position); 

     void onItemLongClick(View view, int position); 
    } 

    private OnItemClickListener mListener; 

    private GestureDetector mGestureDetector; 

    public RecyclerItemClickListener(Context context, final RecyclerView recyclerView, OnItemClickListener listener) { 

     mListener = listener; 

     mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { 
      @Override 
      public boolean onSingleTapUp(MotionEvent e) { 

       return true; 
      } 

      @Override 
      public void onLongPress(MotionEvent e) { 

       View childView = recyclerView.findChildViewUnder(e.getX(), e.getY()); 

       if (childView != null && mListener != null) { 

        mListener.onItemLongClick(childView, recyclerView.getChildAdapterPosition(childView)); 
       } 
      } 
     }); 
    } 

    @Override 
    public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { 

     View childView = view.findChildViewUnder(e.getX(), e.getY()); 

     if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { 

      mListener.onItemClick(childView, view.getChildAdapterPosition(childView)); 
     } 

     return false; 
    } 

    @Override 
    public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { 

    } 

    @Override 
    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { 

    } 
} 

/** 
* RecyclerView item decoration - give equal margin around grid item 
*/ 
public class GridSpacingItemDecoration extends RecyclerView.ItemDecoration { 

    private int spanCount; 
    private int spacing; 
    private boolean includeEdge; 

    public GridSpacingItemDecoration(int spanCount, int spacing, boolean includeEdge) { 

     this.spanCount = spanCount; 
     this.spacing = spacing; 
     this.includeEdge = includeEdge; 
    } 

    @Override 
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { 

     int position = parent.getChildAdapterPosition(view); // item position 
     int column = position % spanCount; // item column 

     if (includeEdge) { 

      outRect.left = spacing - column * spacing/spanCount; // spacing - column * ((1f/spanCount) * spacing) 
      outRect.right = (column + 1) * spacing/spanCount; // (column + 1) * ((1f/spanCount) * spacing) 

      if (position < spanCount) { // top edge 

       outRect.top = spacing; 
      } 

      outRect.bottom = spacing; // item bottom 

     } else { 

      outRect.left = column * spacing/spanCount; // column * ((1f/spanCount) * spacing) 
      outRect.right = spacing - (column + 1) * spacing/spanCount; // spacing - (column + 1) * ((1f/ spanCount) * spacing) 

      if (position >= spanCount) { 

       outRect.top = spacing; // item top 
      } 
     } 
    } 
} 

/** 
* Converting dp to pixel 
*/ 
private int dpToPx(int dp) { 

    Resources r = getResources(); 

    return Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, r.getDisplayMetrics())); 
} 

public void showMessage(String message) { 

    mMessage.setText(message); 
    mMessage.setVisibility(View.VISIBLE); 
} 

public void hideMessage() { 

    mMessage.setVisibility(View.GONE); 
} 

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 
} 

@Override 
public void onDetach() { 
    super.onDetach(); 
} 

}

+0

こんにちは誰かが私のクエストオンに答えることができます –

答えて

0

は、あなたのボタンにgetItems()

if (!restore) { 

    showMessage(getText(R.string.msg_loading_2).toString()); 

    getItems(); 
} 

から設定クリックリスナーを削除し、その後

getItems()メソッドを呼び出します
Button button = (Button) findViewById(R.id.button); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showMessage(getText(R.string.msg_loading_2).toString()); 
      getItems(); 
     } 
    }); 
+0

ありがとう、それは魅力のように働いたが、私はボタンでそれを使用しなかったgridviewを使用しました。ありがとうalotしかし私が今持っているもう一つの問題は断片をリフレッシュする方法です。 Intent i = new Intent(getActivity()、MainActivity.class)を使用して試行しました。 startActivity(i);それは強制的に終了します –

+0

何がエラーメッセージですか? –

+0

残念なことにアプリが停止しているというエラーメッセージは表示されません –

関連する問題