2011-01-14 38 views
7

Làm cách nào để triển khai onMenuItemClickListener?Cách triển khai onMenuItemClickListener trong android

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 

    getMenuInflater().inflate(R.menu.gameoptions, menu); 
    menu.findItem(R.id.menu_item).setIntent(new Intent(this, QMenuActivity.class)); 
    menu.findItem(R.id.back_item).setOnMenuItemClickListener; 
    return true; 
} 

Tôi muốn back_item một lần nhấp vào để gọi một chức năng trong trang, làm cách nào để thực hiện?

+0

Định dạng lại câu hỏi của bạn, không có cách nào mà nguồn hiện tại của bạn sẽ biên dịch. – fiction

Trả lời

9

Tôi giả sử bạn muốn truy cập chức năng không tĩnh trong hoạt động của mình. Nếu không có quá nhiều thông tin từ bạn, hãy thử một cái gì đó giống như những gì dưới đây:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuItem item = menu.findItem(R.id.back_item); 
    item.setOnMenuItemClickListener(new OnMenuItemClickListener() { 

     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      YourActivity.this.someFunctionInYourActivity(); 
      return true; 
     } 
    }); 
    return true; 
} 
+0

Chỉ cần những gì tôi cần cảm ơn – Beginner

4

Dưới đây là cách tôi làm điều đó nếu tôi sẽ thổi phồng một thực đơn xml.

đầu tiên tôi thổi phồng menu khi nó được gọi là:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.test, menu); 
    return true; 
} 

Sau đó chờ cho một nền báo chí và kiểm tra những ID đã ép:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
     case R.id.item1: 
      ... code ... 
      return true; 
     case R.id.item2: 
      ... code ... 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

Hope this helps!

1
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() 

thay đổi mã để bao gồm MenuItem sau mới.

Các vấn đề liên quan