Lor*_*rti 1 android android-toolbar
在我的应用程序中,我将为除mainActivity之外的所有活动创建一个Unique工具栏.我已经为set Title和logo编写了这段代码,但在工具栏中我还有用户名用户刚登录.所以我在我的仪表板活动中写了这段代码:
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(myToolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    assert myToolbar != null;
    myToolbar.setLogo(R.mipmap.logo_big);
TextView usernameField = (TextView) findViewById(R.id.username);
    try {
        usernameField.setText(User.getInstance().getUsername());
    } catch (JSONException e) {
        e.printStackTrace();
    }
我制作了一个可以包含在所有xml文件中的布局.但是如何在没有复制和粘贴的情况下在所有活动中重用此代码?
单身人士错了吗?还是实用班?
谢谢
Ric*_*ard 12
您可以创建一个运行公共代码的基本活动,并从中继承所有其他活动:
// the base class
public abstract class BaseActivity extends AppCompatActivity
{
    protected final void onCreate(Bundle savedInstanceState, int layoutId)
    {
        super.onCreate(savedInstanceState);
        setContentView(layoutId);
        Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(myToolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        assert myToolbar != null;
        myToolbar.setLogo(R.mipmap.logo_big);
        TextView usernameField = (TextView) findViewById(R.id.username);
        try {
            usernameField.setText(User.getInstance().getUsername());
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}
// inheriting activity
public class SomeActivity extends BaseActivity
{
    protected final void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState, R.layout.some_layout);
    }
}
| 归档时间: | 
 | 
| 查看次数: | 7594 次 | 
| 最近记录: |