Buttons in custom dialogs | Android


Paramount

After I click the "SMS" button, I get a popup dialog.

The SMS button only works if the length of the text field is greater than 0. (non empty...)

This is how the "SMS" button calls onClick.

private void smsPopUp() {
        // TODO Auto-generated method stub
        final Dialog smsDialog = new Dialog(this);
        Button cancelsms = (Button)smsDialog.findViewById(R.id.smsCancel);
        smsDialog.setContentView(R.layout.sms_dialog);
        smsDialog.setTitle("To: " + numberfield.getText());

        cancelsms.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v) 
            {           

                smsDialog.dismiss();
            }
        });

        smsDialog.show();

    }

If I comment out the onClick inside the method, the dialog pops up with two buttons: "Cancel" and "Send". Basically, it works without the buttons working. if i run this code...i get error..

Complete LogCat

12-17 10:37:11.500: E/(28583): file /data/data/com.nvidia.NvCPLSvc/files/driverlist.txt: not found!
12-17 10:37:11.500: I/(28583): Attempting to load EGL implementation /system/lib//egl/libEGL_tegra_impl
12-17 10:37:11.520: I/(28583): Loaded EGL implementation /system/lib//egl/libEGL_tegra_impl
12-17 10:37:11.580: I/(28583): Loading GLESv2 implementation /system/lib//egl/libGLESv2_tegra_impl
12-17 10:37:17.695: W/dalvikvm(28583): threadid=1: thread exiting with uncaught exception (group=0x411222d0)
12-17 10:37:17.700: E/AndroidRuntime(28583): FATAL EXCEPTION: main
12-17 10:37:17.700: E/AndroidRuntime(28583): java.lang.NullPointerException
12-17 10:37:17.700: E/AndroidRuntime(28583):    at com.example.dragonphone.Tabs.smsPopUp(Tabs.java:350)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at com.example.dragonphone.Tabs.onClick(Tabs.java:331)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at android.view.View.performClick(View.java:4101)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at android.view.View$PerformClick.run(View.java:17078)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at android.os.Handler.handleCallback(Handler.java:615)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at android.os.Handler.dispatchMessage(Handler.java:92)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at android.os.Looper.loop(Looper.java:155)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at android.app.ActivityThread.main(ActivityThread.java:5493)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at java.lang.reflect.Method.invokeNative(Native Method)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at java.lang.reflect.Method.invoke(Method.java:511)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)
12-17 10:37:17.700: E/AndroidRuntime(28583):    at dalvik.system.NativeStart.main(Native Method)
12-17 10:37:19.610: D/Process(28583): killProcess, pid=28583
12-17 10:37:19.610: D/Process(28583): dalvik.system.VMStack.getThreadStackTrace(Native Method)
12-17 10:37:19.610: D/Process(28583): java.lang.Thread.getStackTrace(Thread.java:599)
12-17 10:37:19.610: D/Process(28583): android.os.Process.killProcess(Process.java:944)
12-17 10:37:19.610: D/Process(28583): com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:108)
12-17 10:37:19.610: D/Process(28583): java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
12-17 10:37:19.610: D/Process(28583): java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
12-17 10:37:19.610: D/Process(28583): dalvik.system.NativeStart.main(Native Method)

I've thought about making an "alert dialog", which is obviously easier. But I'm not sure if it's possible to create a custom onClick for the "positive button". Because there will be a lot of code on "send" onClick

Screenshot of sms_dialog (.xml)

(Only show the top in the dialog (textbox + 2 buttons) as needed.)

enter image description here

Here is the full activity code: (Tabs.Java)

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.*;
import android.database.Cursor;
import android.graphics.*;
import android.net.Uri;
import android.os.Bundle;
import android.os.Vibrator;
import android.preference.PreferenceManager;
import android.provider.BaseColumns;
import android.provider.CallLog;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.widget.*;
import android.widget.TabHost.TabSpec;


public class Tabs extends Activity implements OnClickListener, OnLongClickListener{
    TabHost th;
    TabSpec specs;
    TextView numberfield;
    ListView recents;
    public String string,number;
    private List<Recent> recentCalls = new ArrayList<Recent>();
    public int counter;
    Button n1,n2,n3,n4,n5,n6,n7,n8,n9,n0,nstar,nhash,sms,contact,call,clear,clearhistory,getinfo;

    //ImageView call, clear;
    public Vibrator vib; 
    //public String phoneNumber;
    String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());



    @Override
    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tabs);
        th = (TabHost)findViewById(R.id.tabhost);
        numberfield = (TextView) findViewById(R.id.etNumberField);
        n1 = (Button) findViewById (R.id.bNumber1);
        n2 = (Button) findViewById (R.id.bNumber2);
        n3 = (Button) findViewById (R.id.bNumber3);
        n4 = (Button) findViewById (R.id.bNumber4);
        n5 = (Button) findViewById (R.id.bNumber5);
        n6 = (Button) findViewById (R.id.bNumber6);
        n7 = (Button) findViewById (R.id.bNumber7);
        n8 = (Button) findViewById (R.id.bNumber8);
        n9 = (Button) findViewById (R.id.bNumber9);
        nstar = (Button) findViewById (R.id.bNumberStar);
        n0 = (Button) findViewById (R.id.bNumber0);
        nhash = (Button) findViewById (R.id.bNumberHash);
        call = (Button) findViewById (R.id.bCall);
        sms = (Button) findViewById (R.id.bSMS);


        clear = (Button) findViewById (R.id.bClear);
        contact = (Button) findViewById (R.id.bContact);
        recents = (ListView) findViewById (R.id.recentList);
        clearhistory = (Button) findViewById (R.id.bClearHistory);
        getinfo = (Button) findViewById (R.id.bGetCallDetails);



        populateRecentList();
        populateListView();
        registerClickCallback();

        th.setBackgroundColor(Color.rgb(202, 233, 252));
        //n1.getBackground().setColorFilter(new LightingColorFilter(0x000033, 0x000099));
        //sms.getBackground().setColorFilter(new LightingColorFilter(0xFFFF66, 0xFFFF00));
        vib = (Vibrator) getSystemService(VIBRATOR_SERVICE);



        n1.setOnClickListener(this);
        n2.setOnClickListener(this);
        n3.setOnClickListener(this);
        n4.setOnClickListener(this);
        n5.setOnClickListener(this);
        n6.setOnClickListener(this);
        n7.setOnClickListener(this);
        n8.setOnClickListener(this);
        n9.setOnClickListener(this);
        nstar.setOnClickListener(this);
        n0.setOnClickListener(this);
        n0.setOnLongClickListener(this);
        nhash.setOnClickListener(this);
        call.setOnClickListener(this);
        clear.setOnClickListener(this);
        clear.setOnLongClickListener(this);
        sms.setOnClickListener(this);
        contact.setOnClickListener(this);
        clearhistory.setOnClickListener(this);
        getinfo.setOnClickListener(this);


        th.setup();
        specs = th.newTabSpec("tag1");
        specs.setContent(R.id.Recents);
        specs.setIndicator("Recent Calls");
        th.addTab(specs);

        specs = th.newTabSpec("tag2");
        specs.setContent(R.id.Keypad);
        specs.setIndicator("Keypad");
        th.addTab(specs);

        specs = th.newTabSpec("tag3");
        specs.setContent(R.id.Sms);
        specs.setIndicator("SMS");
        th.addTab(specs);

        specs = th.newTabSpec("tag4");
        specs.setContent(R.id.Ratings);
        specs.setIndicator("Rates");
        th.addTab(specs);

        specs = th.newTabSpec("tag5");
        specs.setContent(R.id.Account);
        specs.setIndicator("Account");
        th.addTab(specs);


    }

    private void populateRecentList() {
         //TODO Auto-generated method stub
        recentCalls.add(new Recent("Zach", "01-12-2013", "064555246", "600"));
        recentCalls.add(new Recent("Adam", "11-12-2013", "00355563315","510"));
        recentCalls.add(new Recent("John", "03-12-2013", "00955587", "100"));
        recentCalls.add(new Recent("Jorge", "15-10-2013" , "445559585", "60"));

    }
    private void populateListView() {
        // TODO Auto-generated method stub
        ArrayAdapter<Recent> adapter = new MyRecentAdapter();
        ListView list = (ListView) findViewById(R.id.recentList);
        list.setAdapter(adapter);

    }
    private class MyRecentAdapter extends ArrayAdapter<Recent>{
        public MyRecentAdapter(){
            super(Tabs.this, R.layout.recents_view, recentCalls);

        }


    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        //Make sure we have a view to work with
        View itemView = convertView;
        if(itemView == null)
        {
            itemView = getLayoutInflater().inflate(R.layout.recents_view, parent,false);
        }
        Recent currentCall =  recentCalls.get(position);

        TextView nameText = (TextView) itemView.findViewById(R.id.tvRecentName);
        nameText.setText(currentCall.getName());

        TextView numberText = (TextView) itemView.findViewById(R.id.tvRecentNumber);
        numberText.setText(currentCall.getPn());

        TextView dateText = (TextView) itemView.findViewById(R.id.tvRecentDate);
        dateText.setText("" + currentCall.getDate());

        TextView durationText = (TextView) itemView.findViewById(R.id.tvRecentDuration);
        durationText.setText("" + currentCall.getDuration());

        return itemView;
        //      return super.getView(position, convertView, parent);

    }

}
    private void registerClickCallback() {
        // TODO Auto-generated method stub
        ListView list = (ListView) findViewById(R.id.recentList);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View viewClicked, int position,
                    long id) {
                // TODO Auto-generated method stub
                Recent clickedCall = recentCalls.get(position);
                String name = clickedCall.getName();
                numberfield.setText(clickedCall.getPn());
                counter = numberfield.getText().toString().length();
                String message = "Calling " + name;
                Context context = getApplicationContext();
                int duration = Toast.LENGTH_SHORT;

                Toast toast = Toast.makeText(context, message, duration);
                toast.show();
                call();
            }



        });

    }

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        switch(arg0.getId()){
        case R.id.bNumber1:
            numberfield.setText(numberfield.getText() + "1");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber2:
            numberfield.setText(numberfield.getText() + "2");
            addCheck();
            vib.vibrate(25);
            break;

        case R.id.bNumber3:
            numberfield.setText(numberfield.getText() + "3");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber4:
            numberfield.setText(numberfield.getText() + "4");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber5:
            numberfield.setText(numberfield.getText() + "5");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber6:
            numberfield.setText(numberfield.getText() + "6");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber7:
            numberfield.setText(numberfield.getText() + "7");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber8:
            numberfield.setText(numberfield.getText() + "8");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber9:
            numberfield.setText(numberfield.getText() + "9");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumberStar:
            numberfield.setText(numberfield.getText() + "*");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumber0:
            numberfield.setText(numberfield.getText() + "0");
            addCheck();
            vib.vibrate(25);
            break;
        case R.id.bNumberHash:
            numberfield.setText(numberfield.getText() + "#");
            addCheck();
            vib.vibrate(25);
            break;

        case R.id.bClear:
            String number = numberfield.getText().toString();
            if(number.length() > 0){
                String newNumber = number.substring(0, number.length()-1);
                        numberfield.setText(newNumber);
                        deleteCheck();
                        vib.vibrate(25);
            }else{
                Context context = getApplicationContext();
                CharSequence text = "The numbers are already cleared.";
                int duration = Toast.LENGTH_SHORT;

                Toast toast = Toast.makeText(context, text, duration);
                toast.show();
            }

            break;
        case R.id.bCall:
            call();

            break;
        case R.id.bContact:
             Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
              startActivityForResult(intent, 1);   
            break;
        case R.id.bClearHistory:
            recentCalls.clear();
            CharSequence text = "Your recent list has been cleared.";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(this, text, duration);
            toast.show();
            th.setCurrentTabByTag("tag1");
            break;
        case R.id.bSMS:
            if(numberfield.length() > 0){
           /* CharSequence text2 = "This function is still under construction..";
            int duration2 = Toast.LENGTH_LONG;
            Toast toast2 = Toast.makeText(this, text2, duration2);
            toast2.show();
            */
            smsPopUp();

            };
            break;
        case R.id.bGetCallDetails:
                getCallDetails();
                break;



        }
    }
    private void smsPopUp() {
        // TODO Auto-generated method stub
        final Dialog smsDialog = new Dialog(this);
        Button cancel = (Button)smsDialog.findViewById(R.id.smsCancel);
        smsDialog.setContentView(R.layout.sms_dialog);
        smsDialog.setTitle("To: " + numberfield.getText());

        cancelsms.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v) 
            {           

                smsDialog.dismiss();
            }
        });

        smsDialog.show();

    }



    private void deleteCheck() {
        // TODO Auto-generated method stub
        counter --;
        if(counter < 14){
            numberfield.setTextSize(25);  //Set text size when amount goes lower.
        }
        if(counter >= 14 && counter < 16){
            numberfield.setTextSize(20);  //Set text size when amount goes lower.
        }
        if(counter >= 16 && counter < 18){
            numberfield.setTextSize(18);
        }
        if(counter >= 18 && counter < 20){
            numberfield.setTextSize(16);
        }
    }
    private void addCheck() {

        // TODO Auto-generated method stub
        counter++;
        if(counter >= 14){
            numberfield.setTextSize(20);  //Set text size when amount goes higher.
            //numberfield.setMaxHeight(10);
        }
        if(counter >= 16){
            numberfield.setTextSize(18);  //Set text size when amount goes higher.
        }
        if(counter >= 18){
            numberfield.setTextSize(16);  //Set text size when amount goes higher.
        }
        if(counter >= 20){
            numberfield.setTextSize(14);  //Set text size when amount goes higher.
        }

        if(counter < 14){
            numberfield.setTextSize(25);  //Set text size when amount goes lower.
        }
        if(counter >= 14 && counter < 16){
            numberfield.setTextSize(20);  //Set text size when amount goes lower.
        }
        if(counter >= 16 && counter < 18){
            numberfield.setTextSize(18);
        }
        if(counter >= 18 && counter < 20){
            numberfield.setTextSize(16);
        }


    }
    private void getCallDetails() {
        StringBuffer sb = new StringBuffer();
        Uri contacts = CallLog.Calls.CONTENT_URI;
        Cursor managedCursor = this.getContentResolver().query(contacts, null, null, null,CallLog.Calls.DATE + " DESC LIMIT 100");
        int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
        int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
        int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
        int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
        sb.append("Call Details :");
        while (managedCursor.moveToNext()) {



            String phNumber = managedCursor.getString(number);
            String callType = managedCursor.getString(type);
            String callDate = managedCursor.getString(date);
            String callDayTime = new Date(Long.valueOf(callDate)).toString();
            // long timestamp = convertDateToTimestamp(callDayTime);
            String callDuration = managedCursor.getString(duration);
            String dir = null;
            int dircode = Integer.parseInt(callType);
            switch (dircode) {
            case CallLog.Calls.OUTGOING_TYPE:
                dir = "OUTGOING";
                break;

            case CallLog.Calls.INCOMING_TYPE:
                dir = "INCOMING";
                break;

            case CallLog.Calls.MISSED_TYPE:
                dir = "MISSED";
                break;
            }
            sb.append("\nPhone Number:--- " + phNumber + " \nCall Type:--- " + dir + " \nCall Date:--- " + callDayTime + " \nCall duration in sec :--- " + callDuration);
            sb.append("\n----------------------------------");


        }
        managedCursor.close();
        System.out.println(sb);
    }
private void call() {
        // TODO Auto-generated method stub
        if(numberfield.length() > 0){
        try {
               Intent callIntent = new Intent(Intent.ACTION_CALL);
                String dsPhoneNumber = "+34965063314,"; 
                // Dynamic number
                    //965063064 
             String string = numberfield.getText().toString().trim();                      
                 number = "tel:" + dsPhoneNumber + string;
                callIntent.setData(Uri.parse(number));
                startActivity(callIntent);
                //recentCalls.add(new Recent(aName, aDate, aNumber, "0"));






            } catch (ActivityNotFoundException activityException) {
                 Log.e("helloandroid dialing example", "Call failed");


            }
        }else {
            Context context = getApplicationContext();
            CharSequence text = "Please insert a phone number or choose a contact.";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }

    }
    @Override
    public boolean onLongClick(View arg0) {
        // TODO Auto-generated method stub
        switch(arg0.getId()){
        case R.id.bClear:
        if(counter != 0){
            counter = 0;
            numberfield.setTextSize(25);
        numberfield.setText("");
        vib.vibrate(100);}
        else{
            Context context = getApplicationContext();
            CharSequence text = "The numbers are already cleared.";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
        break;
        case R.id.bNumber0:

            numberfield.setText(numberfield.getText() + "+");
            addCheck();
            vib.vibrate(25);
            break;
        }
        return true;

    }
    public void onActivityResult(int reqCode, int resultCode, Intent data) {

        if(resultCode == RESULT_OK && data != null) {
            Uri uri = data.getData();

            Cursor cursor=this.getContentResolver().query(uri, null, null, null, null);

            while (cursor.moveToNext()) { 
                String contactId = cursor.getString(cursor.getColumnIndex( 
                        ContactsContract.Contacts._ID)); 
                String hasPhone = cursor.getString(cursor.getColumnIndex( 
                        ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
                if (Integer.parseInt(cursor.getString( cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
                    // You now have the number so now query it like this
                    Cursor phones = getContentResolver().query( 
                            ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
                            null, 
                            ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, 
                            null, null); 
                    while (phones.moveToNext()) { 
                        String phoneNumber = phones.getString( 
                                phones.getColumnIndex( 
                                        ContactsContract.CommonDataKinds.Phone.NUMBER));  
                        numberfield.setText(phoneNumber);
                        counter = numberfield.getText().toString().length();
                        /*if(counter == 0){

                                Context context = getApplicationContext();
                                //CharSequence text = counter;
                                int duration = Toast.LENGTH_SHORT;

                                Toast toast = Toast.makeText(context, counter, duration);
                                toast.show();

                        }*/
                    } 
                    phones.close(); 


                }
            }

        }
    }
}

Active, please feel free to ask for more information.

Ragonandan

Reverse the following statement

Button cancel = (Button)smsDialog.findViewById(R.id.smsCancel);
smsDialog.setContentView(R.layout.sms_dialog);

should

smsDialog.setContentView(R.layout.sms_dialog);
Button cancel = (Button)smsDialog.findViewById(R.id.smsCancel);

You need to send the layout to the dialog first and then initialize the view.

Related


Buttons in custom dialogs | Android

Paramount After I click the "SMS" button, I get a popup dialog. The SMS button only works if the length of the text field is greater than 0. (non empty...) This is how the "SMS" button calls onClick. private void smsPopUp() { // TODO Auto-generated met

Summernote custom dialogs and buttons

Penguin I try to implement Summertnote editor. Here is the JS code: $(document).ready(function() { //Summernote //var te_markdown = document.getElementById("code-markdown");. var textarea = document.getElementById("code"); var HelloButton = function (context)

How to migrate custom buttons and dialogs to TinyMCE 5

Gypsy I have a 3rd party Bootstrap plugin (probably EOL) that adds buttons to the toolbar which in turn open a dialog where Bootstrap elements can be selected to add to the content. It uses the following code: var insertBtn = tinymce.ui.Factory.create({ ty

How to migrate custom buttons and dialogs to TinyMCE 5

Gypsy I have a 3rd party Bootstrap plugin (probably EOL) that adds buttons to the toolbar which in turn open a dialog where Bootstrap elements can be selected to add to the content. It uses the following code: var insertBtn = tinymce.ui.Factory.create({ ty

Android Custom Image Buttons

victor rooster I'm new to Android development and I'm trying to implement some custom buttons, they should look something like this: So I was wondering if I can use something like a imagebutton and use the image as a background and add text on top of it (I tri

Android Custom Image Buttons

victor rooster I'm new to Android development and I'm trying to implement some custom buttons, they should look something like this: So I was wondering if I can use something like a imagebutton and use the image as a background and add text on top of it (I tri

custom layout for buttons in android

Thinh Vu How to customize the layout of buttons? I want to create a button with a layout like this: <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:lay

custom layout for buttons in android

Thinh Vu How to customize the layout of buttons? I want to create a button with a layout like this: <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:lay

custom layout for buttons in android

Thinh Vu How to customize the layout of buttons? I want to create a button with a layout like this: <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:lay

Separate taskbar buttons for dialogs

vitality I am supporting a WinAPI/ATL based application with many dialog windows created based on user actions. Most dialogs are unowned windows. If multiple dialogs are created at the same time, their taskbar buttons will be grouped together on the taskbar (d

Android: radio buttons in custom listview

hand F I am working on an application and need to implement radio buttons in a list view. I want to implement a list view with one radio button and two text views per row. and click OK below the list view. All I did was create a listview and a custom adapter.

Filter custom Listview with buttons (Android)

Carlos Campos I have a custom which Fragmentcontains ListViewcustom Adapter. What I'm showing in this list are some doctors whose properties are: picture, name, ageand gender. What I want to do is to filter the doctors genderwhen the button is pressed . This w

Filter custom Listview with buttons (Android)

Carlos Campos I have a custom which Fragmentcontains ListViewcustom Adapter. What I'm showing in this list are some doctors whose properties are: picture, name, ageand gender. What I want to do is to filter the doctors genderwhen the button is pressed . This w

How to separate polymer buttons and dialogs

Chris Pepper 1989 In the polymer dialog demo they have code like this: <script src= https://github.com/webcomponents/webcomponentsjs/blob/master/webcomponents.js> <link rel="import" href="https://github.com/Polymer/polymer/blob/master/polymer.html"> <link re

Extra padding around buttons in dialogs

bad guy gerald question: You can clearly see the padding around the button Code: public void startGameDialog(){ Context context = GameBoardActivity.this; ContextThemeWrapper ctw = new ContextThemeWrapper(context, R.style.AppBaseTheme); AlertDial

Extra padding around buttons in dialogs

bad guy gerald question: You can clearly see the padding around the button Code: public void startGameDialog(){ Context context = GameBoardActivity.this; ContextThemeWrapper ctw = new ContextThemeWrapper(context, R.style.AppBaseTheme); AlertDial

android custom action bar view with custom buttons

Julius Caesar Hi all, I have a big problem with my custom action bar, I can't solve it for a long time, can someone tell me what's wrong with me I need an action bar like this My customActionBarLayout is: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm

Disappearing fields in custom dialogs

skype dog I'm trying to create custom Dialoguse ImageView, 2x TextViews, 3x RadioButtons and 2x Buttons. Of course I can't make it regular Dialog(due to the use of various Views), so I decided to create custom layout, Classand will customize it. Everything see

Disappearing fields in custom dialogs

skype dog I'm trying to create custom Dialoguse ImageView, 2x TextViews, 3x RadioButtons and 2x Buttons. Of course I can't make it regular Dialog(due to the use of various Views), so I decided to create custom layout, Classand will customize it. Everything see

Custom dialogs like views

User 3600801 I am trying to create an alert similar to the following. I have replaced the text in the image with ediitext. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wi

Android lifecycle events on dialogs

prg Can you explain which activity lifecycle method is called when the dialog appears on the application? I am confused whether it is calling onResume() or onPause() method. thanks George This answer is not entirely correct Check the other answers below for be

Show android dialogs in order

enough In my application, some dialogs are opened from different locations at the same time. (some dialogs are self-built fragments, others are AlertDialogs), which causes some of them to disappear because the last called dialog closes all previously opened di

Android Navigation Drawers and Dialogs

B1acksheep Is it possible to show AlertDialog/DialogFragment and keep the navigation drawer open? I tried "Alert Dialog" and Dialog Fragments, but the drawer closes abruptly. AlertDialog: new AlertDialog.Builder(this) .setTitle("Title") .setMessage("

Android lifecycle events on dialogs

prg Can you explain which activity lifecycle method is called when the dialog appears on the application? I am confused whether it is calling onResume() or onPause() method. thanks George This answer is not entirely correct Check the other answers below for be

Android lifecycle events on dialogs

prg Can you explain which activity lifecycle method is called when the dialog appears on the application? I am confused whether it is calling onResume() or onPause() method. thanks George This answer is not entirely correct Check the other answers below for be

Show android dialogs in order

enough In my application, some dialogs are opened from different locations at the same time. (some dialogs are self-built fragments, others are AlertDialogs), which causes some of them to disappear because the last called dialog closes all previously opened di