重置安卓操作栏中的计数器按钮



构建一个小的水龙头计数器应用程序。我希望操作栏中的"刷新"按钮将文本视图重置为零。

public class MainActivity extends Activity {
int counter;
Button add, sub, refresh; // Tried to do this with refresh
TextView display;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    counter = 0;
    add = (Button) findViewById(R.id.buttonAdd);
    sub = (Button) findViewById(R.id.buttonSub);
    display = (TextView) findViewById(R.id.textView);
    add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            counter++;
            display.setText("Amount: " + counter);
        }
    });
    sub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            counter--;
            display.setText("Amount: " + counter);
        }
    });
}

我尝试了几件事,什么都没有

操作栏项

在 xml 布局 (my_layout.xml):

<Button
     android:id="@+id/button"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="reset counter"/>
<TextView
     android:id="@+id/textView"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:text="5" />

在您的活动中:

public class MyActivity extends Activity {
     //your counter variable
     int counter = 0;
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         setContentView(R.layout.my_layout);
         final TextView textView = (TextView) findViewById(R.id.textView);
         final Button button = (Button) findViewById(R.id.button);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                  counter = 0;
                  textView.setText(counter+"");
             }
         });
     }
 }
活动在其

onCreateOptionsMenu() 方法中填充 ActionBar。

只需像这样覆盖创建选项菜单:

@Override
public boolean onCreateOptionsMenu(Menu.       
menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mainmenu, menu);
return true;
}

如果选择了"操作栏"中的某个操作,则会调用 onOptionsItemSelected() 方法。它接收所选操作作为参数。根据此信息,您可以编写代码来决定要执行的操作,例如:

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    switch (item.getItemId()) {
    case R.id.menuitem1:
        Toast.makeText(this, "Menu Item 1 selected", Toast.LENGTH_SHORT)
        .show();
        break;
    case R.id.menuitem2:
        Toast.makeText(this, "Menu item 2 selected", Toast.LENGTH_SHORT)
        .show();
        break;
    default:
        break;
    }
    return true;
}