Android:Activityベースクラスをカスタマイズし、レイアウト/コントロールを多重化し、コントロールの重複コードを減らす、onPostOnCreate


1.複数のActivityは同じレイアウトまたは同じコントロールを共有する:重複コードを避ける
BaseActivitコード:
public class BaseActivity extends Activity implements OnClickListener
{
    /*
     *   Activity            
     *       ,      
     */
    @Override
    public void onClick(View v)
    {
        switch (v.getId())
        {
        case R.id.common_titlebar_btn_back:
            finish();
            break;
        default:
            break;
        }
        baseOnClick(v);
    }
                 
    protected void baseOnClick(View v)
    {
                     
    }
                 
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_base);
    }
                 
    @Override
    protected void onResume()
    {
        super.onResume();
        onPostOnCreate();
    }
                 
    public final void onPostOnCreate()//find     
    {
        findViewById(R.id.common_titlebar_btn_back).setOnClickListener(this);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        getMenuInflater().inflate(R.menu.base, menu);
        return true;
    }
}

サブクラスコード:
public class ThirdActivity extends BaseActivity
{
    /**
     *  layout       :
     *     <include
     *   android:id="@+id/include1"
     *   layout="@layout/common_titlebar" />
     */
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third_main);
    }
}

本文は“空は痕跡がありませんが私は飛んだことがあります”のブログから出て、転載して作者と連絡してください!