2016-05-10 9 views
3

電子商取引の割り当てを行っており、ボタンをクリックするとカートにアイテムを追加しますAdd To Cartボタンアイテムをクリックするとカートに追加する必要がありますビューオーガーは増分する必要があります。増分アクションバーフラグメントを使用してボタンをクリックすると表示されます

Fragmentでこの操作を実行したいのですが、私の質問を理解できない場合はスナップショットを見て、尋ねたいことを理解しますか?

私はボタンカートの項目をクリックするとcart- enter image description here

にアイテムはありませんカートに追加し、それは次のように示している。.. がenter image description here

はので、どのように私はこのアクションを実行することができますFragmentsを使用して、ビュー・バッガーを増やしてください。ありがとう

答えて

6

解決策を試してください。問題が解決しない場合は、私に例をお送りください。

private int count = 0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button increaseButton = (Button) findViewById(R.id.increaseButton); 
    increaseButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      doIncrease(); 
     } 
    }); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_main, menu); 

    MenuItem menuItem = menu.findItem(R.id.testAction); 
    menuItem.setIcon(buildCounterDrawable(count, R.drawable.ic_menu_gallery)); 

    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 

    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

private Drawable buildCounterDrawable(int count, int backgroundImageId) { 
    LayoutInflater inflater = LayoutInflater.from(this); 
    View view = inflater.inflate(R.layout.counter_menuitem_layout, null); 
    view.setBackgroundResource(backgroundImageId); 

    if (count == 0) { 
     View counterTextPanel = view.findViewById(R.id.counterValuePanel); 
     counterTextPanel.setVisibility(View.GONE); 
    } else { 
     TextView textView = (TextView) view.findViewById(R.id.count); 
     textView.setText("" + count); 
    } 

    view.measure(
      View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), 
      View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); 
    view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); 

    view.setDrawingCacheEnabled(true); 
    view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH); 
    Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache()); 
    view.setDrawingCacheEnabled(false); 

    return new BitmapDrawable(getResources(), bitmap); 
} 

private void doIncrease() { 
    count++; 
    invalidateOptionsMenu(); 
} 
+0

申し訳ありませんが、例を挙げることができます。 – Sourabh

+2

はい、それは問題ありません。 [こちら](https://drive.google.com/file/d/0B4E1qxhiuLQ6Smw2a00xSHdmRUE/view?usp=sharing)をダウンロードしてください –

+0

ありがとうございます、それは – Sourabh

関連する問題