Рисование в диалоге - PullRequest
       0

Рисование в диалоге

0 голосов
/ 06 декабря 2010

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

    Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.progress_overview);
    dialog.setTitle(getString(R.string.progress_overview));

    TextView text = (TextView) dialog.findViewById(R.id.text);
    text.setText("results...");

progress_overview.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/layout_root"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:padding="10dp"
          >
<com.name1.name2.ProgressDrawableView android:id="@+id/progress_image"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:layout_margin="10dp"
           />
<TextView android:id="@+id/text"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:textColor="#FFF"
          />
</LinearLayout>

Проблема в том, если я сделаю это такЯ не могу получить доступ к методам моего ProgressDrawableView View, который отображается (используя findViewById возвращает нулевой указатель).

Не могли бы вы предложить решение или другой способ, если мой подход неверен, пожалуйста?(Я новичок в разработке Android) Спасибо

1 Ответ

1 голос
/ 07 декабря 2010

Вам нужно использовать LayoutInflater, чтобы надуть View, прикрепленный к вашему макету. Затем это легко.Это было бы что-то вроде этого:

LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.progress_overview, null);

myProgressImage = (ProgressDrawableView) layout.findViewById(R.id.progress_image);
mProgressText = (TextView) layout.findViewById(R.id.text);

dialog.setContentView(layout);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...