一个基本活动按住按钮

时间:2013-04-27 23:41:29

标签: android android-activity

在我的应用程序中,我想在一个独特的位置添加一个按钮,在所有活动中执行相同的功能,因此我没有在所有活动中添加相同的代码,而是考虑进行基本活动,就在这里。

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。

1 个答案:

答案 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"
    ...
/>