當我執行下面的腳本,我得到了錯誤The specified child already has a parent. You must call removeView() on the child's parent first.
如何使用片段中的警報進行警報?
public void EditDaytoDayTask(Bundle bundle) {
Log.i(TAG,"Inside editdaytoday");
//((ViewGroup)view.getParent()).removeView(view);
final String taskName=bundle.getString("TASKDAYTODAY");
Log.i(TAG,"TAsknamedate:"+taskName+" "+date);
AlertDialog.Builder alertViewTaskDescription=new AlertDialog.Builder(getActivity());
LayoutInflater inflaterViewTaskDescription=(LayoutInflater)getActivity().getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);
viewTaskWithDescription=(View)inflaterViewTaskDescription.inflate(R.layout.viewtaskwithdescriptionlayout,null,false);
TextView textviewTask=(TextView)viewTaskWithDescription.findViewById(R.id.taskidDaytoDayView);
TextView textviewDescription=(TextView)viewTaskWithDescription.findViewById(R.id.descriptionidDaytoDayView);
textviewTask.setText(taskName);
final String descriptionTask=objTaskDb.FetchDescriptionTask(date,taskName);
textviewDescription.setText(descriptionTask);
alertViewTaskDescription.setView(viewTaskWithDescription);
alertViewTaskDescription.setPositiveButton("EDIT",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//((ViewGroup)view.getParent()).removeView(view);
AlertDialog.Builder alertEditTaskDescription=new AlertDialog.Builder(getActivity());
LayoutInflater inflaterEditTaskDescription=(LayoutInflater)getActivity().getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);
View viewEditTaskDescription=(View)inflaterEditTaskDescription.inflate(R.layout.edittaskwithdescriptionlayout,null,false);
//((ViewGroup)viewEditTaskDescription.getParent()).removeAllViews();
EditText edittextTask=(EditText)viewEditTaskDescription.findViewById(R.id.taskidDaytoDayEdit);
EditText edittextDescription=(EditText)viewEditTaskDescription.findViewById(R.id.descriptionidDaytoDayEdit);
edittextTask.setText(taskName);
edittextDescription.setText(descriptionTask);
alertEditTaskDescription.setView(edittextDescription);
alertEditTaskDescription.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alertViewTaskDescription.show();
}
}
如何解決這個問題?任何幫助將不勝感激,謝謝。
你得到這個錯誤是因爲你正在向另一個視圖添加一些視圖。但是你添加的視圖已經是某個視圖的孩子了。所以基本上你必須調用父視圖上的removeview。在哪一行你得到這個錯誤? –
我有一個創建視圖和以上兩個視圖在內部類中的回調目的。 – Satheesh
我的第一個警報對話框有兩個文本視圖,然後我按下警報框中的編輯按鈕它顯示另一個警報框有兩個edittext而不是textview ....謝謝 – Satheesh