2012-03-16 48 views
-2

我必须在我的应用程序中实现自定义对话框,但我的代码似乎不工作。 请帮帮我。android中的自定义对话框不工作

在此先感谢。

这是我的代码:

Context mContext = getApplicationContext(); 
Dialog dialog = new Dialog(mContext); 

dialog.setContentView(R.layout.custom_dialog); 
dialog.setTitle("Custom Dialog"); 

TextView text = (TextView) dialog.findViewById(R.id.text); 
text.setText("Hello, this is a custom dialog!"); 
ImageView image = (ImageView) dialog.findViewById(R.id.image); 
image.setImageResource(R.drawable.android); 

这是我的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/layout_root" 
       android:orientation="horizontal" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:padding="10dp" 
       > 
    <ImageView android:id="@+id/image" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_marginRight="10dp" 
       /> 
    <TextView android:id="@+id/text" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:textColor="#FFF" 
       /> 
</LinearLayout> 
+0

什么是你正在运行到这个问题,不能只是说,它不工作。请描述问题,如果可能的话提供logcat日志。 – Mayank 2012-03-16 05:01:00

回答

5

您可以尝试使用dialog.Show()

2

而不是使用的setContentView()的,拿到LayoutInflater中,= N做任何你想做的事与布局,然后将其添加到对话框使用setView()方法。

因为在AlertDialog的情况下,setContentView将不起作用。

欲了解更多信息,请参阅本link

2

我就坚持不使用getApplicationContext()创建Dialog实例,而使用Activitys实例来创建它。

Dialog dialog = new Dialog(Activity_Name.this); 

另外,请确保您在创建对话框后调用dialog.show();

2
 Dialog listDialog = new Dialog(this); 
     listDialog.setTitle(getString(R.string.picktemplate)); 
     LayoutInflater li = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view = li.inflate(R.layout.custom_dialog, null, false); 
     listDialog.setContentView(view); 
     listDialog.setCancelable(true); 

     Button list1 = (Button) listDialog.findViewById(R.id.btnList); 
     listDialog.show(); 
+0

Thanks.It工作! – user1268300 2012-03-16 05:21:33