Показать контекстное меню коротким щелчком, а не длинным щелчком - PullRequest
7 голосов
/ 29 декабря 2010

У меня проблема с контекстным меню, у меня есть элемент управления «ImageButton», когда вы делаете длинный щелчок, отображает контекстное меню.

Мне нужно отображать контекстное меню коротким щелчком, а недлинный щелчок, это возможно?

Это код, который я сейчас использую, меню работает отлично.

    private ImageView btnRutas;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.fclientes);

        btnRutas =(ImageView)findViewById(R.id.btnRutas);

        btnRutas.setOnClickListener(this);

        registerForContextMenu(btnRutas); 

    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

        if(v.getId()== R.id.btnRutas) {

            menu.setHeaderIcon(android.R.drawable.ic_menu_more);
            menu.setHeaderTitle("Rutas");
            menu.add(0, 0, 0, "Ruta 1");

        } 

        super.onCreateContextMenu(menu, v, menuInfo);
    } 

    @Override
    public boolean onContextItemSelected(MenuItem item) {

    switch (item.getItemId()){

    case 0:

        function();

        }

    }

Заранее спасибо.

Ответы [ 2 ]

13 голосов
/ 29 декабря 2010

Единственный способ, о котором я могу думать, - это использовать onClickListener () как часть упражнения:

public class MyActivity extends Activity implements OnClickListener{
 protected void onCreate(Bundle bundle) {
    //Usual Activity Stuff
    View v = (View)findViewById(R.id.view); 
    v.setOnClickListener(this);
 }

 public void onClick(View v) {
  super.onClick(v);
  this.openContextMenu(v);
 }
}

Вместо того, чтобы создавать новый View специально для этого, я думаю, вы бы использовали любой Viewхотел это применить к.Надеюсь, это то, к чему ты стремился, и это помогает.

0 голосов
/ 26 октября 2017

Без добавления какого-либо OnClickListener в коде вы можете сделать это только в xml. Просто перейдите в ImageView и добавьте:

android:onClick="openContextMenu"

Вот пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...