在我的Android应用中,我想检测操作栏“子标题”点击事件,但我不知道该怎么做。我已成功完成操作栏“标题”点击,如下面的代码---
所示// Get action bar title ID
final int abTitleId = getResources().getIdentifier("action_bar_title", "id", "android");
//Set OnClick event on action bar title
getActivity().findViewById(abTitleId).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// Done
}
});
参考上面的代码,我试图检测操作栏“子标题”点击事件如下,但是有一些错误,我得到“子标题ID”为空,它正在抛出空指针异常。
//Set OnClick event on action bar sub-title
final int abSubTitleId = getResources().getIdentifier("action_bar_sub_title", "id", "android");
getActivity().findViewById(abSubTitleId).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
}
});
希望你理解。谢谢..!
答案 0 :(得分:0)
最好处理这种情况是使用自定义操作栏视图,因此创建一个简单的操作栏布局,其中包含标题textview和subtitle textview,并实现相应的监听器。 :)
final ViewGroup actionBarLayout = (ViewGroup) getLayoutInflater().inflate(R.layout.action_bar, null);
// Set up your ActionBar
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(actionBarLayout);
// You customization
final int actionBarColor = getResources().getColor(R.color.action_bar);
actionBar.setBackgroundDrawable(new ColorDrawable(actionBarColor));
final TextView actionBarTitle = (TextView) findViewById(R.id.action_bar_title);
final TextView actionBarSubTitle = (TextView) findViewById(R.id.action_bar_sub_title);
答案 1 :(得分:0)
据我所知,Action Bar字幕不可点击。相反,您可以在那里添加图标并使其可点击。您可以在onOptionsItemSelected()
中获取图标的点击事件。