У меня есть 3 EditText, определенных в файле XML.Используя код, как мне узнать, какой из этих EditText вызывает контекстное меню?
По сути, мне нужно иметь «Справка» и «Установить по умолчанию» для каждого EditText.Я могу сделать так, чтобы контекстное меню было одинаковым для каждого элемента, но не разным для каждого элемента.Вот кодКонкретный вопрос в методе ContextChoice.Случай 0 - это помощь, случай 1 установлен по умолчанию.Как в каждом из этих случаев узнать, какой EditText вызывает это контекстное меню, чтобы я мог установить разные справки и разные значения по умолчанию вместо всех их сразу?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.updatedata);
wNum = (EditText) findViewById(R.id.wNum);
wNum.setOnCreateContextMenuListener(this);
fName = (EditText) findViewById(R.id.fName);
fName.setOnCreateContextMenuListener(this);
lName = (EditText) findViewById(R.id.lName);
lName.setOnCreateContextMenuListener(this);
Button Save = (Button) findViewById(R.id.Save);
Button Cancel = (Button) findViewById(R.id.Cancel);
Save.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(getBaseContext(), wNum.getText().toString() + "\n" + fName.getText().toString() + " " + lName.getText().toString() + "\n Your info has been saved.", Toast.LENGTH_LONG).show();
}
});
Cancel.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Toast.makeText(getBaseContext(), "Cancelled", Toast.LENGTH_SHORT).show();
finish();
}
});
this.registerForContextMenu(wNum);
this.registerForContextMenu(fName);
this.registerForContextMenu(lName);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, view, menuInfo);
CreateContext(menu);
}
@Override
public boolean onContextItemSelected(MenuItem item)
{
return ContextChoice(item);
}
private void CreateContext(Menu menu)
{
MenuItem mnu1 = menu.add(0,0,0,"Help");
MenuItem mnu2 = menu.add(0,1,1,"Set To Default");
}
private boolean ContextChoice(MenuItem item)
{
switch(item.getItemId())
{
case 0:
showDialog(0);
return true;
case 1:
wNum.setText("w99999999");
fName.setText("Bob");
lName.setText("Frank");
return true;
}
return false;
}
Надеюсьэто понятноСпасибо за помощь.