我有多个活动,我想在这些活动中使用相同的代码。我在每个活动中都有相同的代码来完成它。怎样才能最大限度地减少这种冗余代码。为此,我不想创建对象并使用它的方法来消除冗余......
请帮助...谢谢你....
我有多个活动,我想在这些活动中使用相同的代码。我在每个活动中都有相同的代码来完成它。怎样才能最大限度地减少这种冗余代码。为此,我不想创建对象并使用它的方法来消除冗余......
请帮助...谢谢你....
解决方案很简单:扩展类Activity,并为他添加你想要的所有方法。(例如,我通常将此类称为 BaseActivity )
然后,当您开发新活动时 - 而不是扩展类 Activity - 扩展您创建的类 BaseActivity,其中包含您添加的方法..
public class BaseActivity extends Activity
{
protected int mSomeValue;
protected void someMethod1()
{
}
protected void someMethod2()
{
}
protected void someMethod3()
{
}
}
class SomeActivity extends BaseActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
someMethod1();
}
}
class SomeActivity2 extends BaseActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
someMethod1();
}
}
您可以创建一个“BaseActivity”并在该单个类中包含很多代码,然后简单地创建类并扩展该“BaseActivity”。
这是我认为您正在寻找的内容:
public class BaseActivity extends Activity {
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.donate:
//something
break;
case R.id.about_menuitem:
//something
break;
case R.id.exit:
finish();
break;
default:
return true;
}
return true;
}
}
我创建了一个名为“BaseActivity”的类,在这个类中我有我的 Android 选项菜单,我还扩展了“Activity”。由于我扩展了“活动”并在此类中有我的选项菜单,因此我现在可以对所有其他类使用相同的菜单代码。
我只是简单地创建我的新类并使用“BaseActivity”扩展它们:
public class SomeOtherActivity extends BaseActivity {
//new code here
}
现在名为“SomeOtherActivity”的类将继承我的菜单代码和“Activity”。
请尝试一下,让我知道这是否有帮助!