2012-05-05 4 views
-2

버튼과 같은 기능을하는 메뉴 항목과 관련된 문제가 있으며 해결 방법을 모르겠습니다.메뉴의 항목이 버튼처럼 작동합니다.

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/item1" android:title="Item1" /> 
    <item android:id="@+id/item2" android:title="Item2" /> 
</menu> 

와 나는 같이 그것을 정의하는 방법을 알고, 버튼처럼 사용 해달라고 : 메뉴에서 항목에서

내가이 같은 항목 확장에 refeer

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button button = (Button) findViewById(R.id.button); 

    button.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View v) { 
     String uri=null; 

     Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); 
     intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, 
         RingtoneManager.TYPE_RINGTONE); 
     if (uri !=null) { 
     intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, 
         Uri.parse(uri));   
     } else { 
     intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, 
         (Uri)null); 
     } 

     startActivityForResult(intent, 1); 
    } 
    }); 

미리 감사드립니다.

+0

나는 매우 당신이 요구하는 것을 이해하지 않는다, 당신이 재 수 너의 질문을 쓴다? – Sam

+0

@Sam 내 R.layout에는 menu.xml과 같은 두 항목이 있습니다.

<항목 안드로이드 : ID = "@ + ID/항목 2" 안드로이드 대신 제목 = "항목 2"/> R.layout의 main.xml에 정의 된 Button이 있고, Activity를 확장하는 클래스에서 ** item **이 ** Button.setOnClickListener (새 View.OnClickListener)의 istead처럼 작동하도록합니다. ** ** item.setOnClickListener (새 View.OnClickListener) **를 원하지만 이처럼 이것을 정의 할 수는 없습니다. – Johannes

답변

0

메뉴를 구현하고 싶습니다. API 10 이하의 경우, 고해상도/메뉴에서 menu.xml을 넣어/당신의 활동에 이러한 두 가지 기능을 오버라이드 (override) : API 11 + 들어

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

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
    case R.id.item1: 
     // Do something 
     break; 
    case R.id.item2: 
     // Do something else 
     break; 
    } 
    return true; 
} 

,

업데이트explained here. 등의 작업 표시 줄을 사용하는 것을 고려

기본 설정 메뉴의 경우 findPreference()를 사용하고 사용자 정의 setOnPreferenceClickListener()를 정의해야합니다. 오히려 여기에 코드 조각을 복사하는 것보다,이 세 가지 상세한 튜토리얼 중 하나를 수행합니다

+0

감사합니다. 대신 옵션 또는 상황에 맞는 메뉴를 만들고 싶지 않습니다. 이 두 가지, 나는 PreferenceActivity처럼 보이는 아이템을 가진 메뉴를 만들고 싶다.'' – Johannes

+0

좋아,이 이미지가 마음에 드십니까? http://androidpartaker.files.wordpress.com/2010/07/ringtone_preference.jpg – Sam

+0

결계는 이렇게 : [link] (http://picz.ro/index.php?id=145e02ac4b9373e0dce5ec469d6e82f5) – Johannes

관련 문제