Java 在Android编程中:如何调用接受View类型参数的方法?
好的,我试着按照这个教程: 我参加了Java 在Android编程中:如何调用接受View类型参数的方法?,java,android,eclipse,Java,Android,Eclipse,好的,我试着按照这个教程: 我参加了操作栏的培训。现在,我有了一个带有操作栏和按钮的应用程序。该按钮位于“编辑文本”字段旁边,如果您按下它,它只会将您带到另一个包含键入文本的视图 现在,我尝试调用相同的方法,使用操作栏菜单选项之一将您带到第二个视图。该处理程序位于主活动源代码中,我将其中的一个片段粘贴到此处: @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle pres
操作栏的培训。现在,我有了一个带有操作栏和按钮的应用程序。该按钮位于“编辑文本”字段旁边,如果您按下它,它只会将您带到另一个包含键入文本的视图
现在,我尝试调用相同的方法,使用操作栏菜单选项之一将您带到第二个视图。该处理程序位于主活动源代码中,我将其中的一个片段粘贴到此处:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_search:
sendMessage();
return true;
case R.id.action_settings:
// openSettings();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void sendMessage(View view){
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
我想在switch操作中的一种情况下尝试调用sendMessage方法,但我不知道要放入哪些参数。单击按钮时,处理程序位于xml文件中:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
我不知道这是怎么回事。我想做的事不可能吗?谢谢你的帮助。你不应该直接打电话Android
在按下按钮时调用它
在何处声明Android:onClick属性
。如果您想在任何情况下调用它,只需传递一个null参数并检查null值,只需创建一个辅助函数sendRealMessage
,然后在您的开关中调用此函数
public void sendMessage(View view){
sendRealMessage();
}
public void sendRealMessage(){
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
另一种方法是通过null值调用函数sendMessage(null)
,因为函数不直接使用它。您可以在xml中用id命名按钮
public void sendMessage(View view){
sendRealMessage();
}
public void sendRealMessage(){
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
android:id=“+@id/buttonnamehere
然后从代码中调用按钮并执行单击操作使用方法:
Button mybut=(Button)findviewbyd(R.id.buttonnamehere);
点击:
mybut.performClick();
U可以读取与View by相同的按钮
{
按钮btnXyz=(按钮)findViewById(R.id.btnSend);
发送消息(btnXyz)
}
我认为您可以通过将视图传递为null直接调用sendMessage()方法。哦,天哪,太……天才了!非常感谢!:D@StarSky的答案是有效的,但我认为这是我正在寻找的真正答案。也是最有效的。谢谢@blackbelt!