在我的应用程序中,我想在一个独特的位置添加一个按钮,在所有活动中执行相同的功能,因此我没有在所有活动中添加相同的代码,而是考虑进行基本活动,就在这里。
mport android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.Toast;
public abstract class DefaultActivity extends Activity{
ImageButton b;
@Override
public void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(R.layout.default_activity);
b = (ImageButton)findViewById(R.id.imageButton1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "ana fel base activity", Toast.LENGTH_LONG).show();
}
});
}
}
但是按钮没有出现在其他活动中,尽管我做了其他活动扩展 DefaultActivity 。那么有没有办法实现这一目标?非常感谢。
P.S:我不想使用actionBar。
答案 0 :(得分:0)
如果您的其他活动使用其他布局调用setContentView(...)
,则会显示这些布局。如果这些布局没有ImageButton
,那么屏幕上就不会有ImageButton
(通过在{{1}中调用setContentView()
,布局不会“嵌套”并且它是超类实现)。一种解决方案是在其他布局中使用Activity
标记,并使用只有ImageButton的另一个布局文件,如下所示:
<强> RES /布局/ image_button.xml 强>
<include>
<强> RES /布局/ activity_main 强>
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
/>