我有一组3个函数,我在3个活动类中使用它们。不是将3个方法放在3个类中的每一个中,而是如何只编写3个方法一次,然后在所有其他类中调用这些方法...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.icon:
settingBoard();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void settingBoard() {
Log.i(MY_DEBUG_TAG, "Preparing settings page..");
/*
* progressDialog.setMessage("Preparing settings page.....");
* progressDialog.show();
*/
Intent lma = new Intent(this, SettingsActivity.class);
startActivityForResult(lma, 3);
}
感谢任何帮助
答案 0 :(得分:5)
编写一个包含这三个函数的抽象Activity子类。然后从抽象类派生你的三个Activity类。
答案 1 :(得分:2)
我可以提出两个选择:
继承:创建一个实现这些方法的基类(MyActivity)并覆盖它以创建您的活动。优点是方法可以使用受保护的属性。
组合:创建实现这些方法的实用程序类。使该类的对象成为活动的成员。
答案 2 :(得分:0)
我假设R
和Log
是您引用的静态对象。如果是这样,那么你可以简单地将这些函数放在一个类文件中,并在你希望使用这些函数的所有类中包含这个类。然后你就可以将它们称为ClassNameOfYourChoice.functionName()
。