将计数器值添加到工具栏Android

时间:2016-05-20 11:12:57

标签: android android-studio

好吧,我有一个计数器值来自另一个活动。现在在当前活动中,借助一个按钮,我想在工具栏上添加该计数器值(就像任何购物车:其中一个项目添加了方案) 。接受我的意图:

public class ShoppingCart extends AppCompatActivity {
private Button btn4_s_add,btn5_s_rem,btn6_s_add_to_cart;
private int c_number;
private TextView tv5;
public int counter_s=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.shopingcart);

    tv5=(TextView)findViewById(R.id.textView5);
    btn4_s_add=(Button) findViewById(R.id.button4);
    btn5_s_rem=(Button) findViewById(R.id.button5);
    btn6_s_add_to_cart=(Button)findViewById(R.id.button6);


    c_number=getIntent().getIntExtra("counter",0);
    tv5.setText(Integer.toString(c_number));


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

            counter_s=c_number;
            counter_s++;

        }
    });
    btn5_s_rem.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            counter_s=c_number;
            counter_s--;

        }
    });

    btn6_s_add_to_cart.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            counter_s=c_number;
            if(counter_s==0){
                Toast.makeText(ShoppingCart.this, "Your cart is empty", Toast.LENGTH_SHORT).show();
            }
            else{

//现在我想在工具栏上添加计数器的值。显然,我如何添加徽章或其他。这就像一个结账按钮,一旦你点击,你的计数器就会在工具栏中显示。

            }
        }
    });


}

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    return super.onOptionsItemSelected(item);
}

}

2 个答案:

答案 0 :(得分:0)

您应该自定义Toolbar。因为它是View。所以你可以轻松地做到。您可以在toolbar中设计布局,并将TextView放在角落。

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="@color/action_bar_bkgnd"
app:theme="@style/ToolBarTheme" >


 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:id="@+id/toolbar_counter" /> 


</android.support.v7.widget.Toolbar>

现在您可以访问此textViews

Toolbar toolbarTop = (Toolbar) findViewById(R.id.toolbar);
TextView counter = (TextView) toolbarTop.findViewById(R.id.toolbar_counter);

答案 1 :(得分:0)

只需让你的工具栏布局包含你的tv5 TextView。 在您的活动中实例化它:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

并获得它的参考,例如:tv5 = (TextView) toolbar.findViewById(R.id.tv5);

然后根据按钮clickplay显示计数器。将以下内容放在指向按钮的onClickListener中:

tv5.setText(Integer.toString(c_number));
tv5.setVisibility(View.VISIBLE);

之前,你必须将TextView设置为不可见,即:
      tv5.setVisibility(View.GONE);