android - 标题栏中的按钮如何到达它

标签 android tabactivity titlebar

创建带有按钮的标题栏时,这在所有 Activity 中都很常见,例如在 tabactivities 中创建的标题栏。怎么可能到达所有子 Activity 中的按钮??

public class tabActivity extends TabActivity  implements OnClickListener{
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    c = this;
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

    setContentView(R.layout.tabactivity);

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Settings",
            res.getDrawable(R.drawable.preferences)).setContent(
                    new Intent(this, Settings.class)));

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("About",
            res.getDrawable(R.drawable.newspaper)).setContent(
                    new Intent(this, About.class)));

这是我初始化我的选项卡和带有按钮的自定义标题的地方..

在这个类中,我想访问自定义标题中的按钮。:

public class About extends Activity 
{
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);

    setContentView(R.layout.about);

    ImageView imag = (ImageView) findViewById(R.id.Position);
    imag.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            System.out.println("heeey");
        }
    });

}

监听器不起作用??

这可能吗??

最佳答案

像这样制作一个抽象的Activity:

public abstract class MyAbsActivity extends Activity {
    abstract public void buttonClickedInTab();
}

然后使用 MyAbsActivity 扩展标签的两个子 Activity,然后您必须覆盖 buttonClickedInTab() 方法。

在重写该方法时,将您的逻辑放在那里用于两个 Activity 。例如你的 AboutbuttonClickedInTab() 应该是这样的:

public class About extends MyAbsActivity {

    //onCreate() etc here

    @Override
    public void buttonClickedInTab() {
        //Your logic to do action for About
    }

}

对其他 SettingActivity 重复此操作。

现在在您的 TabActivity 中处理标题按钮事件 onClick()

public void onClick(View v)
{
    MyAbsActivity activity = (MyAbsActivity)getLocalActivityManager().getCurrentActivity();
    activity.buttonClickedInTab(); // it will inform the current activity
}

关于android - 标题栏中的按钮如何到达它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9013478/

相关文章:

android - 如何将值从 Activity 传递到tabactivity

c# - 在自定义位置打开标题栏/程序图标上下文菜单 [WPF]

c# - 将按钮扩展到 UWP 中的标题栏

python - 如何在pygame中隐藏标题栏?

android - 在文件上传过程中显示进度条

android - startActivityForResult(Intent intent, int requestCode, Bundle options) 如何检索额外的 bundle 选项?

Android UI TabActivity 问题

android - 在 Android 上滑动即可切换标签页,例如 YouTube/Google 音乐应用

Android 字符串数组显示百分号

java - 如何将 RelativeLayout 旋转 180 度?