我有多个活动,我想在这些活动中使用相同的代码。 我完成了每个活动都有相同的一堆代码。 如何最小化这个冗余代码。 这样做的,我不希望创建对象,并使用它的方法去除冗余...如何最小化Android中的重复代码而不创建对象
plz帮助... 感谢ü....
我有多个活动,我想在这些活动中使用相同的代码。 我完成了每个活动都有相同的一堆代码。 如何最小化这个冗余代码。 这样做的,我不希望创建对象,并使用它的方法去除冗余...如何最小化Android中的重复代码而不创建对象
plz帮助... 感谢ü....
解决方法很简单:扩展类的活动,并为他添加所有你想要的方法。 (我通常称之为例如该类BaseActivity)
然后,当你正在开发新的活动 - 而不是扩展类活动 - 扩展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();
}
}
嘿thankx的解释...它帮助我... – 2012-04-08 06:40:43
你欢迎,总是乐意帮助 – 2012-04-08 06:46:26
但你为什么不标记我的问题解决? – 2012-04-08 08:08:51
您可以创建一个“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选项菜单,我也延长“活动”。由于我扩展了“活动”并在此课程中添加了我的选项菜单,因此我现在可以为我的其他课程使用相同的菜单代码。
我只是简单地创建我的新类,并将其与“BaseActivity”扩展:
public class SomeOtherActivity extends BaseActivity {
//new code here
}
现在所谓的“SomeOtherActivity”之类,会继承我的菜单代码,同时也“活动”。
请试试看,让我知道这是否有帮助!
为什么你不想使用另一个对象来减少冗余? – 2012-04-08 05:56:54
@JacobPhillips:因为我已阅读,创建对象可能会在资源,性能等方面的成本,它不建议在移动应用程序...嘿,让我知道,如果我错了...我新的Android ... – 2012-04-08 06:04:00
我认为你应该有共同的(“冗余”)方法,并将它们包含在一个新类中,以便其他活动继承。你确实想知道内存的使用情况,但是创建一个相当简单的对象在这个(和大多数)情况下是完全可以接受的 – 2012-04-08 06:07:56