Obter instancia de componente dentro de um Dialog

Olá,

Ao selecionar o menu button do aparelho o usuário pode escolher a forma de sincronização do aplicativo, sendo online e offline. Esta escolha aparece dentro de um Dialog e utilizei um widget Switch para possibilitar a ação. Com dois botões um Salvar e o outro Cancelar. Ao selecionar o Salbar e inserir o seguinte código:


 public void onClick(DialogInterface dialog, int id) {
	Switch sync = (Switch) findViewById(R.id.modo_sync);
	     
        }

O problema é que só recebo NullPointer no sync

Segue xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:orientation="horizontal"
    android:background="#000" >

    <Switch
        android:id="@+id/modo_sync"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>

Aguardo pois já pesquisei bastante. Já tentei rodar de uma outra thread com o handler e o run() mas não funcionou.

Você não pode utilizar o método findViewById sem informar qual a view que será procurada.
No momento, você está procurando dentro da Activity o Switch que foi criado, mas ele não foi criado no setContentView, ele foi criado no Dialog, em algum momento aonde você deu um new AlertDialog.Builder.

Você tem que dar um dialog.findViewById(id), onde dialog é a instancia do dialog criado.

Att,