Создание собственных диалогов
Создание собственных диалогов
Здравствуйте! При запуске на эмуляторе выдает ошибку "Unfortunately ExampleApp has stopped".
[syntax=java]import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomDialogApp extends Activity implements View.OnClickListener{
private static final int ID_D = 0;
@Override
public void onCreate(Bundle saveInstancedState){
super.onCreate(saveInstancedState);
setContentView(R.layout.main_layout);
}
@Override
public void onClick(View view) {
showDialog(ID_D);
}
protected Dialog onCreateDialog(int id){
switch (id){
case ID_D:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_layout, (ViewGroup) findViewById(R.id.toast_layout));
TextView text = (TextView) findViewById(R.id.textView);
text.setText("Are you sure you want to exit?");
ImageView image = (ImageView) findViewById(R.id.imageView);
image.setImageResource(R.drawable.icon);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
builder.setMessage("Custom dialog");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
CustomDialogApp.this.finish();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
builder.setCancelable(false);
return builder.create();
default: return null;
}
}
}
[/syntax]
Main Layout:
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Custom Dialog!"
android:id="@+id/button"
android:onClick="onClick"/>
</LinearLayout>[/syntax]
Custom Layout:
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ccc"
android:id="@+id/toast_layout"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="New Text"
android:textColor="#000"
android:id="@+id/textView"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:id="@+id/imageView"
android:layout_marginRight="10dp"/>
</LinearLayout>[/syntax]
[syntax=java]import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomDialogApp extends Activity implements View.OnClickListener{
private static final int ID_D = 0;
@Override
public void onCreate(Bundle saveInstancedState){
super.onCreate(saveInstancedState);
setContentView(R.layout.main_layout);
}
@Override
public void onClick(View view) {
showDialog(ID_D);
}
protected Dialog onCreateDialog(int id){
switch (id){
case ID_D:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_layout, (ViewGroup) findViewById(R.id.toast_layout));
TextView text = (TextView) findViewById(R.id.textView);
text.setText("Are you sure you want to exit?");
ImageView image = (ImageView) findViewById(R.id.imageView);
image.setImageResource(R.drawable.icon);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
builder.setMessage("Custom dialog");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
CustomDialogApp.this.finish();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
builder.setCancelable(false);
return builder.create();
default: return null;
}
}
}
[/syntax]
Main Layout:
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Custom Dialog!"
android:id="@+id/button"
android:onClick="onClick"/>
</LinearLayout>[/syntax]
Custom Layout:
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ccc"
android:id="@+id/toast_layout"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="New Text"
android:textColor="#000"
android:id="@+id/textView"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:id="@+id/imageView"
android:layout_marginRight="10dp"/>
</LinearLayout>[/syntax]
Re: Создание собственных диалогов
если не догадался в лог глянуть - ищи ошибку сам!
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Создание собственных диалогов
Ну зачем же так строго? Можно человека ведь послать, например посмотреть вебинар
Вебинар 6. Аптечка хорошего разработчика. DDMS. Часть 1
В начале вебинара рассказывается как пользоваться инструментом LogCat.
Вебинар 6. Аптечка хорошего разработчика. DDMS. Часть 1
В начале вебинара рассказывается как пользоваться инструментом LogCat.
Re: Создание собственных диалогов
просто я уже неоднократно это говорила, толку? каждый 2-й приходит и начинает говорить, что у него "упало"
Как другие соображают, они не задумываются.
Как другие соображают, они не задумываются.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Создание собственных диалогов
А я собственно для этого и сделал вебинар и пару записей, дабы отсылать сразу людей к ним. Сложен логкат и понимание сути ошибки? Отлично, читаем мою заметку в моей подписи =) Всё, все вопросы решены 
правда есть более сложные ошибки. в них да, уже можно поразбираться.
правда есть более сложные ошибки. в них да, уже можно поразбираться.
Re: Создание собственных диалогов
ок, ладно. Тогда ты ходи за всеми в темах и посылай на вебинары)) Должность вакантна
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Создание собственных диалогов
Omg!!! Можно подумать что ты свои вебинары делал по какой-то другой причине. Мы 100500 раз отсылаем людей по ссылкам на stackoverflow и так далее, с необходимым ответом. Чем тебя этот ответ не устроил?
Re: Создание собственных диалогов
Была вот такая ошибка:
Дело в том, что в методе onCreateDialog() оно не хотело создавать TextView или ImageView. Когда убрал их с метода, то все заработало.
Просто я хотел использовать TextView и ImageView, чтобы добавить текст и картинку к моему диалогу.
Скажите, почему нельзя делать так, как написано в моем классе?
Код: Выделить всё
E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activityПросто я хотел использовать TextView и ImageView, чтобы добавить текст и картинку к моему диалогу.
Скажите, почему нельзя делать так, как написано в моем классе?
Re: Создание собственных диалогов
то, что ты выделил, еще не то, куда нужно в первую очередеь смотреть в логе.
Тебе же сказали про вебинар .
или тут в каждой теме нужно выкладывать урок по программированию?
Так ты далеко не продвинешься, если будешь гадать на кофейной гуще. А
в логе написано конкретно.
Тебе же сказали про вебинар .
или тут в каждой теме нужно выкладывать урок по программированию?
Так ты далеко не продвинешься, если будешь гадать на кофейной гуще. А
в логе написано конкретно.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
