我正在输入TextBox中的所有数据,当我按下提交按钮它正在工作但我在Menuitem按钮上做同样的事情然后它不起作用。 我的代码是:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG,"Information - onCreate() ...");
setContentView(R.layout.activity_main);
View promptButton = findViewById(R.id.submit_button);
promptButton.setOnClickListener((OnClickListener) this);
}
public void onClick(View v) {
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.greetingsRadioGroup);
int checkedRadioButton = radioGroup.getCheckedRadioButtonId();
switch (checkedRadioButton) {
case R.id.mrButton :
choice = "Mr.";
break;
case R.id.mrsButton :
choice = "Mrs.";
break;
case R.id.msButton:
choice = "Ms.";
break;
case R.id.drButton:
choice = "Dr.";
break;
}
EditText namef = (EditText) findViewById(R.id.firstname);
EditText namel = (EditText) findViewById(R.id.lastname);
EditText add1 = (EditText) findViewById(R.id.address);
Spinner pro1 = (Spinner) findViewById(R.id.spinner1);
EditText coun1 = (EditText) findViewById(R.id.country);
EditText pcode1 = (EditText) findViewById(R.id.postalCode);
switch(v.getId()){
case R.id.submit_button:
Intent j = new Intent(this, Animation.class);
fname = namef.getText().toString();
lname = namel.getText().toString();
add = add1.getText().toString();
pro = pro1.getSelectedItem().toString();
coun = coun1.getText().toString();
pcode = pcode1.getText().toString();
j.putExtra("choice", choice);
j.putExtra("fname", fname);
j.putExtra("lname", lname);
j.putExtra("add", add);
j.putExtra("pro", pro);
j.putExtra("coun", coun);
j.putExtra("pcode", pcode);
startActivity(j);
break;
case R.id.menu_anim:
Intent k = new Intent(this, Animation.class);
fname = namef.getText().toString();
lname = namel.getText().toString();
add = add1.getText().toString();
pro = pro1.getSelectedItem().toString();
coun = coun1.getText().toString();
pcode = pcode1.getText().toString();
k.putExtra("choice", choice);
k.putExtra("fname", fname);
k.putExtra("lname", lname);
k.putExtra("add", add);
k.putExtra("pro", pro);
k.putExtra("coun", coun);
k.putExtra("pcode", pcode);
startActivity(k);
break;
}
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent d1) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, d1);
if(requestCode == START)
{
Toast.makeText(this, "Your download has resumed.", Toast.LENGTH_LONG).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
this.myMenu = menu;
MenuInflater mi = this.getMenuInflater();
mi.inflate(R.menu.my_menu,menu);
return true;
}
我不知道我能在这个switch Case R.id.menu_anim
...
我可以拨打onClick(View v)
吗?
如果是,我怎么称呼它?
private boolean handleMenus(MenuItem item)
{
switch (item.getItemId()) {
case R.id.menu_anim:
break;
}
return true;
}
答案 0 :(得分:2)
以下是如何创建OptionMenu并在菜单项上具有ClickAction的示例:
// for Menu
private static final int SETTING_ID = Menu.FIRST;
private static final int EXISTING_GAMES_ID = Menu.FIRST + 1;
private static final int GAME_SELECTION_ID = Menu.FIRST + 2;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, SETTING_ID, 0, "settings");
menu.add(0, EXISTING_GAMES_ID, 0, "existing games");
menu.add(0, GAME_SELECTION_ID, 0, "new game");
/**** Is this the mechanism to extend with filter effects?
Intent intent = new Intent(null, getIntent().getData());
intent.addCategory(Intent.CATEGORY_ALTERNATIVE);
menu.addIntentOptions(
Menu.ALTERNATIVE, 0,
new ComponentName(this, NotesList.class),
null, intent, 0, null);
*****/
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
/* mPaint.setXfermode(null);
mPaint.setAlpha(0xFF);*/
switch (item.getItemId()) {
case SETTING_ID:
//Do Some Task
return true;
case EXISTING_GAMES_ID:
//Do Some Task
return true;
case GAME_SELECTION_ID:
//Do Some Task
return true;
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:0)
static final int MY_ITEM = 0x0;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, MY_ITEM, 0, "My Item");
return true;
}
@Override
public boolean onOptionsItemSelected (MenuItem item)
{
super.onOptionsItemSelected(item);
switch(item.getItemId())
{
case MY_ITEM:
//code goes here;
break;
}
return true;
}