2013-07-14 4 views
1

나는 사용자 정의보기가있는 활동이 있습니다.보기에서 활동을 완료하는 방법

나는 활동 결과를 추가해야합니다 :

public class ActView extends Activity implements OnClickListener { 
<...code...> 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    <...code...> 
    layout = (LinearLayout) findViewById(R.id.chart_container); 
     timelineview = new VDrawTimeLine(this,contentFull); 
     timelineview.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
     timelineview.setBackgroundColor(0xffffffff); 
     timelineview.setVisibility(View.VISIBLE); 

     layout.addView(timelineview); 

    <...code...> 
    } 
} 

View 클래스 :

public class VDrawTimeLine extends View implements OnTouchListener{ 
<...code...> 
public VDrawTimeLine(Context context, ArrayList<_MainData> contentFull) { 
     super(context); 
     this.con = context; 
     this.content = contentFull; 
     <...code...> 
    } 
} 
@Override 
    public boolean onTouch(View v, MotionEvent event) { 
     // TODO Auto-generated method stub 
     finishFunction();//I need here finish event this activity result for ActView Activity. 
     return true; 
    } 

finishFunction을 - 내가 부모 활동에 대한 결과로 ActView을 완료하려면 여기를 쓸 필요가 뭐? Context 당신이 사용하고 있기 때문에

Intent intent = new Intent(); 
    intent.putExtra(dataname, value); 
    setResult(RESULT_OK,intent); 
    finish(); 

답변

6

이 활동에 Activitys context, you can cast the view의 상황과 그 위에() 마무리를 호출

는이 같은 뭔가가 필요합니다. 예를 들어

:

private void finishFunction() { 
    Activity activity = (Activity)getContext(); 
    activity.finish(); 
} 

아마 그것은 디자인의 관점

+0

감사에서 최선의 선택이 아니다. 그것은 내가 원하는 것을 나에게 준다. 복잡 할 수도 있지만 작동합니다. – Vyacheslav

관련 문제