2017-11-19 6 views
0

목록 뷰를 제공하는 데이터베이스에서 항목을 삭제하는 버튼이있는 Expandablelistview가 있습니다. 항목이 삭제되고 있지만 항목을 사라지게하려면 해당 활동을 종료하고 다시 이동해야합니다. 나는 주 활동을 호출하는 것을 생각했다. 그러나 startActivity (intent)는 빨간색으로 밑줄이 그 어져있다. 나는 모든 종류를 시도했다. 제발 도와 줄 수 있어요. 당신에게Expandablelistview의 버튼을 클릭하면 Main Activity를 호출하려고합니다. android

@Override 감사 공공보기 getGroupView (INT I, 부울 B,보기보기, 뷰 그룹 뷰 그룹) { 최종 문자열 항목 = (문자열) this.getGroup (I);

if (view == null) { 
     LayoutInflater layoutInflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     view = layoutInflater.inflate(R.layout.parent_layout, null); 
    } 

    final TextView itemTV = view.findViewById(R.id.parent_shopping_item); 
    itemTV.setText(item); 
    CheckBox checkBox = view.findViewById(R.id.checkBox); 
    Button deleteItemBtn = view.findViewById(R.id.button); 
    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() 
    { 
     @Override 
     public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) 
     { 
      itemTV.setPaintFlags(itemTV.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 
      if (! isChecked) 
      { 
       itemTV.setPaintFlags(itemTV.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG)); 
      } 
     } 
    }); 

    deleteItemBtn.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View view) 
     { 
      DBManager dbManager = new DBManager(context, null, null, 1); 
      dbManager.deleteItem(item); 
      Intent intent = new Intent(context, MainActivity.class); 
      startActivity(intent); 


     } 
    }); 
    return view; 
} 

답변

0

나는

yourAdapter.notifyDataSetChanged(); 

를 호출하는 대신에 당신의 목록보기를 업데이트합니다, 다시 활동을 호출하려고 생각합니다.

+0

안녕하세요. 답장을 보내 주셔서 감사합니다.하지만이 방법은 효과가 없습니다. –

+0

데이터베이스에서 항목을 삭제 한 후 목록을 업데이트합니까? – lpy

+0

그게 내가 달성하려고 노력하지만, 많은 행운을 가지고 있지 않습니다. 목록에있는 활동을두고 나가면 삭제 된 항목이 반환됩니다. 나는 그것이 즉시가되고 싶다. –

0

온 클릭 방식으로 추가 할 필요성 : @Override 공개 무효 온 클릭 (보기 뷰) { DBManager dbManager 새로운 DBManager = (문맥, 널, 널, 1); dbManager.deleteItem (item); 인 텐트 intent = 새 인 텐트 (context, MainActivity.class); 번들 번들 = 새 번들(); startActivity (context, intent, bundle); }