액티비티간 인자를 전달 잘 받은것 까지 확인 했는데요
==> 인자를 받는 액티비티 소스입니다.
-ladder.java-
package ladder.com;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ladder extends Activity {
private int number_int;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO Auto-generated method stub
Intent intent = new Intent(ladder.this,base.class);
startActivityForResult(intent, 1); // Sub_Activity 호출
setContentView(new selectView(this));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
TextView number = (TextView)findViewById(R.id.get_number);
if ( resultCode == RESULT_OK)
{
if (requestCode==1){
number.setText(data.getStringExtra("number"));
number_int = Integer.parseInt(data.getStringExtra("number"));
}
}
}
public int getnumber(){
return number_int;
}
}
인자확인을 위해서 xxx.xml 파일을 만들어서 id가 get_number 인 TextView 를 확인해보면
결과가 잘 나옵니다.
setContentView(R.layout.xxx); <- 정상적인 결과값 출력
근데 그 값을 이용해서 image 를 다르게 그리기 위해서 view 클래스를 상속 받는 클래스를
구현했는데요
그 소스는
-selectView.java-
package ladder.com;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.widget.TextView;
public class selectView extends View {
private int number;
private Drawable vertical=this.getResources().getDrawable(R.drawable.vertical);
public selectView(Context context) {
super(context);
ladder num = new ladder();
number = num.getnumber();
// TODO Auto-generated constructor stub
}
protected void onDraw(Canvas canvas)
{
canvas.drawColor( Color.WHITE );
Paint paint = new Paint();
paint.setColor( Color.BLACK );
//세로라인 그리기
for ( int i = 1; i < number; ++i )
{
vertical.setBounds(
(int)300*i/(number-1)-25,
80,
(int)300*i/(number-1)-15,
320);
vertical.draw(canvas);
}
}
}
위와 같습니다.
ladder.java 소스에서 selectladder.java 소스를
setContentView(new selectView(this)); <- 프로그램 중단
이렇게 호출을 하면 프로그램이 중단이 되더라구요
인자전달을 잘못해서 그런것인지.. 아니면 다른 방법으로 인자를 전달 해야 하는지
조언 부탁 드립니다.