我有Action bar
和很多不同的Activity
,它可以正常工作,但是我不想在每个Activity
中添加代码。如何在一个Activity
中添加一个可以在每个Activity
中使用的代码?我希望所有活动只能在一个Activity
中编写一个代码。
我的主要活动:
package ua.in.masterpc.technoguide;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.ImageButton;
public class IconsMain extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_icons_main);
ImageButton myImageButton = findViewById(R.id.iconPC);
myImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intentLoadNewActivity = new Intent(IconsMain.this, PCProblems.class);
startActivity(intentLoadNewActivity);
}
});
}
@Override//start menu code
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.bar_menu, menu);
return true;
}//end menu code
}
谢谢您的回答!
答案 0 :(得分:0)
您可以创建名为BaseActivity
的类,该类将扩展AppCompatActivity
,并在其中放置要在每隔Activity
中使用的代码和功能。然后,在每个活动中,您将扩展BaseActivity
而不是AppCompatActivity
。这样可以避免重复代码。请记住,您必须将ActionBar
放入每个活动.xml
布局文件中。
答案 1 :(得分:0)
创建一个baseActivity
在其中添加函数以初始化工具栏并根据需要自定义它
open class BaseActivity : AppCompatActivity() {
protected fun initializeToolbar() {
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
}
}
创建toolbar_main.xml
将baseActivity
包括为toolbar_main.xml
<include layout="@layout/toolbar_main" />
扩展为任何活动
class MainActivity : BaseActivity(){
}
并调用您在baseActivity
中创建的函数。
答案 2 :(得分:0)
创建一个布局,例如toolbar_layout,并添加布局代码,然后将该布局包括在您的所有活动中: