Это мой диалоговый Java-файл, который создает проблемы. Это очень похоже на другие диалоговые файлы, которые у меня есть, которые прекрасно работают. Дело в том, что этот диалог вызывается, когда завершается другой диалог прогресса. Другой закрывается, но этот новый не открывается (но код запускается), и я не понимаю, почему.
public class Response extends Dialog implements OnClickListener {
Button cpandclose;
EditText response;
Context context;
//Skapar dialog med About xml filen
public Response(Context context, String url) {
super(context);
/** 'Window.FEATURE_NO_TITLE' - Used to hide the title */
requestWindowFeature(Window.FEATURE_NO_TITLE);
/** Design the dialog in main.xml file */
setContentView(R.layout.response);
cpandclose = (Button) findViewById(R.id.cpandclose);
cpandclose.setOnClickListener(this);
response = (EditText) findViewById(R.id.resposeurl);
response.setText("http://xxx.com/i/" + url);
this.context = context;
Log.d("Response Window: ", "running..");
}
public void onClick(View v) {
if (v == cpandclose) {
ClipboardManager ClipMan = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
ClipMan.setText(response.getText());
dismiss();
}
}
}
xml-file
для диалогового окна, которое не отображается:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/responsetxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Response:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/resposeurl"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<requestFocus />
</EditText>
<Button
android:id="@+id/cpandclose"
android:layout_width="225dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="Copy and Close" />
</LinearLayout>
Функция приложения, загружающая некоторые данные в фоновом режиме и по окончании, применяет данные, возвращенные к строке:
camera.responseFromServer(serverResponse);
Это вызывает метод responseFromServer в текущем объекте камеры и вызываемая функция выглядит следующим образом:
public void responseFromServer(String url) {
Looper.prepare();
Response response = new Response(this, url);
Log.d("response: ", url);
response.show();
}
Это запускает программу, но я не вижу ни одного диалогового окна. Как это может быть? Возможно, это простое решение, но кажется, что я все перепробовал!
Спасибо за ваш совет и лучшую мудрость.