【问题标题】:Contextmenu in Activity Group活动组中的上下文菜单
【发布时间】:2012-12-28 07:41:44
【问题描述】:

我正在为选项卡组使用活动组。

标签组Activity中的一个子Activity包含一个Contextmenu。但是当我单击菜单项时,在所选上下文菜单项下编​​写的代码没有运行。

the code which i was written in tabgroup Activity is given below

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    // TODO Auto-generated method stub
    super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    return getLocalActivityManager().getCurrentActivity().onContextItemSelected(item);
}

我在 child Achtivity 中编写的代码如下所示

public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) 
{
    super.onCreateContextMenu(menu, v, menuInfo);
    if(v.getId()==R.id.appointment_listview1)
    {
        AdapterView.AdapterContextMenuInfo info =
                (AdapterView.AdapterContextMenuInfo)menuInfo;


        appointmnt_row item = (appointmnt_row)appListView.getItemAtPosition(info.position);
        menu.setHeaderTitle(dateString);
        menu.add(0, item.getId(), 0, "Delete");
    }
}

@Override
public boolean onContextItemSelected(MenuItem item) {

    if(item.getTitle()=="Delete")
    {Log.e("delete",""+item1.getId());
            } return true;}

请帮帮我

【问题讨论】:

  • 显示 onContextItemSelected 方法
  • 感谢您的互动。我认为主要问题是我使用的是活动组,所以在子活动中实现上下文菜单是问题
  • 你试过了吗? onContextItemSelected 中的 getLocalActivityManager().getCurrentActivity().onContextItemSelected(item)。看到这个问题stackoverflow.com/questions/3157406/…
  • 是的,我使用 getLocatActivityManager().getCurrentActivity.onContextItemSelected(item)。我在 AcitivityGroup 上使用此代码
  • 我在我的默认活动中成功使用了这个神(不是子活动).. 但我不能在子活动中使用此代码

标签: android contextmenu activitygroup


【解决方案1】:

打电话

View view = getLocalActivityManager().startActivity("YourActivity", new
                                            Intent(this,YourActivity.class)
                                            .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
                                            .getDecorView();

          ListView list = (ListView) view.findViewById(android.R.id.list); // find your view,for example list.
          list.setOnCreateContextMenuListener(this);


@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    Log.v(null, "ITEM CREATED");
    menu.add(Menu.NONE, 0, Menu.NONE, "1 item");
    getLocalActivityManager().getCurrentActivity().onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
    Log.v(null, "ITEM SELECTED");
    return getLocalActivityManager().getCurrentActivity().onContextItemSelected(item);
}

它对我有用

【讨论】:

  • 在我的孩子活动中我无法调用函数 getLocalActivityManager()
  • 该代码应该添加到activityGroup类中。只需调用 findViewById 并在子活动中设置监听器
  • 你能分享你的 groupActivity 和孩子的 Activity 请... ikky.ragav.exe@gmail.com
猜你喜欢
  • 1970-01-01
  • 2011-03-06
  • 1970-01-01
  • 1970-01-01
  • 2017-12-25
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多