2012-12-05 4 views
4

메뉴에서 TextView를 만들려고하는데 텍스트가 동적으로 설정됩니다. 지금 내 메뉴는 다음과 같습니다.res menu에서 TextView를 만드는 방법은 무엇입니까?

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_search" 
     android:actionViewClass="android.widget.SearchView" 
     android:icon="@android:drawable/ic_menu_search" 
     android:showAsAction="ifRoom" 
     android:title="Search"/> 
    <item 
     android:id="@+id/action_sync" 
     android:icon="@drawable/ic_menu_refresh" 
     android:showAsAction="ifRoom" 
     android:title="Sync"/> 

</menu> 

텍스트 만있는 항목을 만들려면 어떻게해야합니까?

+0

아이콘을 표시하지 않으시겠습니까? – Namy

답변

3

텍스트 만 표시하려면 menu.xml에 아이콘을 추가하지 마십시오. 당신이 코드에서 텍스트를 변경하려는 경우, 당신은 같은 활동 콜백에()를 onPrepareOptionsMenu에서 수행 할 수 있습니다 :

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
    MenuItem myItem = menu.findItem(R.id.the_item); 
    myItem.setTitle("bla"); 
    return true; 
} 
1

난 당신이 사용자 정의처럼, 색상, 텍스트 크기 나 글꼴을 원한다면, 당신이해야한다고 생각 텍스트보기 :

String title = "MyTitle"; 

    TextView tvMiTitle = new TextView(getActivity()); 
    tvMiTitle.setText(title); 
    tvMiTitle.setTextColor(Color.WHITE); 
    // == 
    // MenuItem myMenuItem; 
    myMenuItem.setActionView(tvMiTitle); 
+0

나는 그것을 작동시킬 수 없다. "getActivity()"메소드가 무엇인지 찾을 수 없습니다 ... – ApollonDigital

+0

getActivity() Fragment 확장 클래스에있을 때이 메소드를 가져옵니다. 이를 ((Activity) 컨텍스트) 또는 Activity를 가리키는 "this"로 바꿀 수 있습니다. –

+0

완벽한 대답 .. – Lokesh

관련 문제