0
테이블에 TableRows를 동적으로 생성 한 커플이 있습니다 ... 각 행에 3 개의 Textview와 이미지 버튼이있어 사용자가 원하는 경우 행을 삭제할 수 있습니다. 행을 성공적으로 생성했습니다 달성되었지만 사용자가 해당 행에서 삭제 버튼을 클릭하면 문제가 발생합니다. 행이 예상대로 삭제되지 않습니다. 어떻게해야합니까?안드로이드 테이블에서 동적으로 생성 된 TableRow를 제거합니다
내 코드
public void addBody(String Code,String Type,String Quantity){
/** Create a TableRow dynamically **/
mTblrow = new TableRow(this);
/** Creating a TextView to add to the row **/
TextView label = new TextView(this);
label.setText(Code);
label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
label.setPadding(5, 5, 5, 5);
label.setBackgroundColor(Color.GRAY);
LinearLayout Ll = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params.setMargins(5, 5, 5, 5);
Ll.addView(label,params);
mTblrow.addView((View)Ll); // Adding textView to tablerow.
/** Creating Qty Button **/
TextView type = new TextView(this);
type.setText(Type);
type.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
type.setPadding(5, 5, 5, 5);
type.setBackgroundColor(Color.GRAY);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 5, 5, 5);
Ll.addView(type,params);
mTblrow.addView((View)Ll); // Adding textview to tablerow.
/** Creating Qty Button **/
TextView quantity = new TextView(this);
quantity.setText(Quantity);
quantity.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
quantity.setPadding(5, 5, 5, 5);
quantity.setBackgroundColor(Color.GRAY);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params.setMargins(0, 5, 5, 5);
Ll.addView(quantity,params);
mTblrow.addView((View)Ll);
/** Creating Qty Button **/
ImageView delete = new ImageView(this);
delete.setImageDrawable(drawable);
delete.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
delete.setPadding(5, 5, 5, 5);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params.setMargins(0, 5, 5, 5);
Ll.addView(delete,params);
mTblrow.addView((View)Ll);
// Add the TableRow to the TableLayout
delete.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//This part should handle the logic to delete the row
//This is where am hitting a snag..Please Help
mTable.removeView(mTblrow);
}
});
mTable.addView(mTblrow, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
}
EDIT 다음과 같습니다 내가 클릭에 대한 아래의 코드를 사용하여 시도 대신
delete.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
((ViewManager)mTblrow.getParent()).removeView(mTblrow);
mTable.removeViewAt(rowIndex);
}
});
그것 그러나대로 작동하지 않는 그것은에서 행을 삭제하는 것을 원하는 위에서 아래에서 시작하여 항상 위에서 아래로 시작합니다.
오류를 받으셨습니까? 또는 행이 삭제되지 않고 있습니까? –
오류가 없습니다. 단순히 삭제되지 않았습니다. 단순히 표에서 행을 삭제하고 싶습니다. –