我有多个活动,我想在这些活动中使用相同的代码.我在每个活动中使用相同的代码完成了它.如何最小化这个冗余代码.为此,我不想创建对象并使用它的方法来删除冗余...
Plz帮忙......谢谢你......
解决方案很简单:扩展类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();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以创建"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;
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为"BaseActivity"的类,在这个类中我有我的Android选项菜单,我也扩展了"Activity".由于我扩展了"Activity"并在这个类中有我的选项菜单,我现在可以对所有其他类使用相同的菜单代码.
我只是简单地创建我的新类并使用"BaseActivity"扩展它们:
public class SomeOtherActivity extends BaseActivity {
//new code here
}
Run Code Online (Sandbox Code Playgroud)
现在这个名为"SomeOtherActivity"的类,将继承我的菜单代码以及"Activity".
请尝试一下,让我知道这有帮助!
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |