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