簡體   English   中英

為什么我的自定義警報對話框代碼崩潰了?

[英]Why is my custom alert dialog code crashing?

我正在嘗試將自定義視圖應用於警報對話框。 我正在這樣做,但是當我嘗試顯示警報框時有nullpointer異常。

我這樣創建一個layout.xml:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"  
  android:id="@+id/themescreen"
  android:gravity="center"
  android:orientation="horizontal"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
 >
<TableLayout
android:padding="45dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioGroup
android:gravity="center">
<TableRow>
<RadioButton
android:id="@+id/rdthemeBlue"
android:button="@drawable/radio_custom">
</RadioButton>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/bluebackgroundicon"
android:paddingLeft="10dip"
android:paddingBottom="10dip"
></ImageView>
</TableRow>
<TableRow>
<RadioButton
android:id="@+id/rdthemeGolden"
android:button="@drawable/radio_custom"></RadioButton>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/goldenredbackgroundicon"
android:paddingLeft="10dip"
android:paddingBottom="10dip"
></ImageView>
</TableRow>

<TableRow>
<RadioButton
android:id="@+id/rdthemeBlack"
android:button="@drawable/radio_custom">
</RadioButton>
<TextView
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:text="None"
>
</TextView>
</TableRow>
</RadioGroup>
<TableRow
android:paddingTop="25dip"
android:paddingLeft="10dip"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
>
<Button
android:id="@+id/btnthemesave"
android:background="@drawable/btn_custom"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:text="Save"
android:textSize="15sp"
 ></Button>
<Button
android:id="@+id/btnthemecancel"
android:background="@drawable/btn_custom"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:text="Cancel"
android:textSize="15sp"
></Button>
</LinearLayout>
</TableRow>
</TableLayout>
</LinearLayout>

並通過此代碼應用於Alertbox。

 LayoutInflater factory = LayoutInflater.from(BackupRestoreActivityContext);  
  final View textEntryView = factory.inflate(R.layout.layout,null); 
    AlertDialog.Builder alert = new AlertDialog.Builder(BackupRestoreActivityContext);          
           alert.setTitle("Configuration Setting"); 
          alert.setView(textEntryView);   
      alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() 
          {     
              public void onClick(DialogInterface dialog, int whichButton) {  

                    return;          
                  }      
              });      
          alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() 
          {     
              public void onClick(DialogInterface dialog, int which) {   
                  // TODO Auto-generated method stub       
                  return;      
                  }  
              });     
          alert.show();     

是什么導致空指針異常?

public class BranchDialog extends android.app.Dialog
{

    ListView list;
    Context context;
    TextView title; 
    ProgressBar progress;

    public BranchDialog(Context context, String rid, String name) 
    {
        super(context);

        setContentView(R.layout.branch_dialog);
        setCancelable(true);
        setTitle(name);
        this.context = context;

        title = (TextView)findViewById(R.id.branch_dialog_title);

        title.setText("this is my custom title");
        show();
    }

}

稍作更改后可能會對您有所幫助。

嘗試使用“警報對話框”的這些代碼為我工作

AlertDialog.Builder alert;
alert = new AlertDialog.Builder(Deal_Purchase_Checkout.this);
alert.setTitle("Enter Your Title");
alert.setView(input);
alert.setPositiveButton("Ok",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int whichButton){
    //Some Code
 }
});
alert.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int whichButton) {
        dialog.cancel();
    }
});
alert.show();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM