I show a DialogFragment from another DialogFragment. I need to set title and a button just next to it. I don't want to reimplement the theme and create a custom view inside DialogFragment's content view instead of dialog title (because it's error-prone and time wasting). Is it even possible? I tried many API functions, AlertBuilder, ActionBar, this and that, still didn't found anything that fits my needs.
            Asked
            
        
        
            Active
            
        
            Viewed 816 times
        
    1
            
            
        
        efpies
        
- 3,625
 - 6
 - 34
 - 45
 
2 Answers
1
            Try something like this:
// Title
final int titleId = getResources().getIdentifier("alertTitle","id","android");
TextView title = (TextView) popup.findViewById(titleId);
title.setText("My new title");
// Title's parent layout
ViewGroup viewGroup = (ViewGroup) title.getRootView();
// Button
Button button = new Button(this);
button.setText("A Button");
viewGroup.addView(button);
Note: You may need to adjust the button and title objects' LayoutParams.
        Simas
        
- 43,548
 - 10
 - 88
 - 116
 
- 
                    That worked. Small fix: I used `TextView title = (TextView) getDialog().findViewById(android.R.id.title)` – efpies Aug 27 '14 at 15:48
 - 
                    1@efpies you may want to be careful using `android.R.id.title` as well as `alertTitle`. I remember trying both and only the latter worked. Perhaps it's device dependent. So you may want to add a null check :) – Simas Aug 27 '14 at 15:52
 
1
            
            
        An update. This can be achieved by calling setCustomTitle on AlertDialog.Builder class. Available since api level 1, and do not require a bunch of code.
Example:
AlertDialog.Builder(getActivity()).setCustomTitle(getActivity().getLayoutInflater().inflate(R.layout.my_custom_view, viewGroup)).create()
        Ze Luis
        
- 236
 - 2
 - 15