Java 创建按钮并将其分离
我的应用程序在windows上有操作栏。按钮在哪里。按钮计数,功能根据用户的活动而变化 我想用方法addFirstButton,removeFirstButton编写一个类。 因此,我想在其他课程中这样做:Java 创建按钮并将其分离,java,android,Java,Android,我的应用程序在windows上有操作栏。按钮在哪里。按钮计数,功能根据用户的活动而变化 我想用方法addFirstButton,removeFirstButton编写一个类。 因此,我想在其他课程中这样做: MyButtons myButtons = new MyButtons(); myButtons.addFirstButton(); 所以一切都很好,但是如果我想这样做,如何创建一个侦听器按钮呢 通常我会这样做: Button backButton = (Button) c
MyButtons myButtons = new MyButtons();
myButtons.addFirstButton();
所以一切都很好,但是如果我想这样做,如何创建一个侦听器按钮呢
通常我会这样做:
Button backButton = (Button) customNav.findViewById(R.id.back);
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(Action_Bar_TestingActivity.this, "BACK", Toast.LENGTH_SHORT).show();
}
});
但我希望这将在MyButtons类中,并且方法会以某种方式将侦听器返回到该操作
如果可能的话,有什么想法吗
谢谢。如果您正在编程一个操作栏,那么您可以在
onOptionsItemSelected()
中处理它的“按钮”。有关更多信息,请参见此处:
如果您支持Android 1.6-2.x,您可以复制ActionBarCompat示例应用程序。它将使用一些与>=3.x ActionBar相同的XML标志,但并非所有功能都是仿真的。你也可以考虑使用Bar Sherlock。< /P>
如果您想设置并获取onClickListeners,您可以。没有任何说明您必须在按钮内实例化click侦听器。但是你得做一些簿记。至少,在按钮数组外部实例化侦听器并将其传入
下面是我如何创建独立的单击侦听器:
Button.OnClickListener mTakePicOnClickListener =
new Button.OnClickListener() {
public void onClick(View v) {
dispatchTakePictureIntent(ACTION_TAKE_PHOTO_B);
}
};
下面是我将其附加到按钮的位置(一个简单的示例):
(如果您想查看此函数的真实外观,它是示例应用程序的一部分。)
但我认为您可以看到如何在
MyButtons
内部使用此函数,或者如何以艰难的方式编码:
final Button backButton = null;
final LinearLayout navBar = (LinearLayout) customNav.findViewById(R.id.root);
Button addButton = (Button) customNav.findViewById(R.id.add_button);
addButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
if (backButton == null)
{
backButton = new Button(this);
backButton.setText("Back");
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Toast.makeText(Action_Bar_TestingActivity.this, "BACK", Toast.LENGTH_SHORT).show();
}
});
navBar.addView(backButton);
addButton.setText("Remove Back button");
}
{
navBar.removeView(backButton);
backButton = null;
addButton.setText("Add Back button");
}
}
});
我使用ActionBarSherlock并创建了自己的布局
final Button backButton = null;
final LinearLayout navBar = (LinearLayout) customNav.findViewById(R.id.root);
Button addButton = (Button) customNav.findViewById(R.id.add_button);
addButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
if (backButton == null)
{
backButton = new Button(this);
backButton.setText("Back");
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Toast.makeText(Action_Bar_TestingActivity.this, "BACK", Toast.LENGTH_SHORT).show();
}
});
navBar.addView(backButton);
addButton.setText("Remove Back button");
}
{
navBar.removeView(backButton);
backButton = null;
addButton.setText("Add Back button");
}
}
});