Кто-нибудь знает, как я могу заставить свой виджет открывать диалог с полем ввода? - PullRequest
1 голос
/ 23 мая 2011

На данный момент у меня есть виджет, который, когда пользователь нажимает на него, открывает экран входа в систему. Я хочу пропустить этот шаг, чтобы пользователь мог сразу перейти к функциональности приложения. Я видел, как это делают другие приложения, с помощью всплывающих диалоговых окон, которые позволяют пользователю вводить данные, не открывая всего действия.

Как бы я мог получить всплывающее диалоговое окно, когда пользователь щелкает что-то в виджете. На данный момент я создал собственный класс диалога (хотя это было бы нормально для обычного диалога), и я попытался назвать его как обычное действие, но неудивительно, что это не сработало.

У кого-нибудь есть другие идеи?

Вот вывод при возникновении ошибки (черный ящик - имя пакета):

image

Ответы [ 3 ]

3 голосов
/ 23 мая 2011

Вы не можете показать диалог из виджета. Вы должны запустить Activity, но ее можно оформить как диалог, используя Theme.Dialog.

1 голос
/ 24 мая 2011

попробуйте сделать это .. и другое дело - не создавать класс диалога .. я имею в виду не расширять диалог .. расширять активность..` импорт android.widget.Button;import android.widget.EditText;import android.widget.TextView;

открытый класс Add extends Activity {// код идет сюда ..

}

и это manifest.xml`

 </activity>
     <activity android:name=".Add" android:theme="@android:style/Theme.Dialog" android:label="@string/app_name">

    </activity>
1 голос
/ 23 мая 2011

в manifest.xml ....... активность android: name = ". Activity" android: theme = "@ android: style / Theme.Dialog" android: label = "@ string / app_name"

...