2011-09-06 36 views
9

Bây giờ tôi muốn thêm nó vào một menu ở dưới cùng của màn hình. Tôi đã viết rất nhiều về nhưng vẫn không hiểu làm thế nào để làm điều đó. Vấn đề chính của tôi là tôi không có tệp xml trên trang chính của mình. giao diện của nó giống như:Làm cách nào để tạo menu theo trình tự trong Android?

public class start extends ListActivity { 
     static final String[] COUNTRIES = new String[] { 
     "NEWS1", "NEWS2","RADIO"}; 
Intent intent; 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, COUNTRIES)); 

     ListView lv = getListView(); 
     lv.setTextFilterEnabled(true); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
if (((TextView) view).getText().equals("NEWS1")){ 
intent = new Intent(start.this, NewsActivity.class); 

làm cách nào để thêm menu có hành động. xin vui lòng cho tôi một ví dụ. nhờ

+0

Tab-Menu hoặc Menu như trong khi bạn bấm Menu-nút trên điện thoại? –

+0

Menu-nút trên điện thoại –

Trả lời

6

Ya tốt của nó nếu bạn không có một tập tin XML trong hoạt động chính của bạn. Bạn vẫn có thể thêm menu vào nó bằng cách làm theo các bước sau ->

  1. tạo tệp XML android và chọn menu làm loại (Nó sẽ được lưu trữ trong thư mục phụ của thư mục menu).
  2. Bây giờ trong mã hoạt động chính của bạn thêm hai phương pháp này ->

    public boolean onCreateOptionsMenu(Menu menu){ 
        getMenuInflater().inflate(R.menu.yourmenuxmlfilename, menu); 
        return true; 
    } 
    public boolean onOptionsItemSelected(MenuItem item){ 
        switch(item.getItemId){ 
         case R.id.item1: 
          // what you want to do with first button 
          break; 
         case ..... 
          break; 
        } 
        return true; 
    } 
    
+0

phương pháp này onCreateOptionsMenu (Menu Menu) từ nơi tôi cần gọi nó (từ phương thức nào để gọi nó?) ??? và cách thêm các mục vào menu? –

+0

chỉ cần thêm phương thức này vào lớp bắt đầu của bạn nhưng hãy nhớ rằng không thêm phương thức này trong phương thức onCreate() của bạn, thêm chúng một cách riêng biệt. Và đi đến menu XML file để thêm các mục vào nó. Nó rất đơn giản. – Rocker

+0

cảm ơn công việc nhưng các mục đen không thể nhìn thấy chúng trên phông chữ màu đen trên nền đen –

35

sử dụng mã này để thêm trình đơn động

private static final int NEW_MENU_ID=Menu.FIRST+1; 

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

     menu.add(0, NEW_MENU_ID, 0, "New"); 

     return true; 
    } 
+0

Sử dụng phương thức 'public boolean onPrepareOptionsMenu (Menu menu)' ở đây là gì? Loại bỏ nó không hiển thị bất kỳ sự khác biệt nào. –

1

Đối với một menu ngữ cảnh bạn chỉ cần thêm

  getListView().setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 

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

        menu.setHeaderTitle("Options"); 
        menu.add("Option1"); 
        menu.add("Option2"); 
        menu.add("Option3"); 

       } 
      }); 

Các menu ngữ cảnh chỉ xuất hiện trên nhấp và giữ để các mục danh sách

-1

Đối với menu tùy chọn

tạo tệp xml android mà bạn tăng trong menu tùy chọn

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

    new MenuInflater(this).inflate(R.layout.options, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    //and your action for menu item click goes here 
-1

Cách mở hộp thoại? ví dụ khi nhấp vào Giới thiệu, hộp thoại mở ra nói rằng: Được tạo bởi XXX, font16 và truy cập: "http://www.xxx.xxx" làm siêu liên kết?

.với mã này:

private static final int NEW_MENU_ID=Menu.FIRST+1; 


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

     menu.add(0, NEW_MENU_ID, 0, "ABOUT"); 


     return true; 
    } 
Các vấn đề liên quan