마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

pointActivity에서 pointgetActivty로 값을 주고 싶습니다.

0 추천

각종 자료를 찾다 찾다 안되서 여쭈어 봅니다.

인텐트 데이터 전달, 전역변수 선언 등 여러가지 기능을 알아보고 사용할려고 했으나 많은 오류가 발생하네요.

if(toHexString(tagId).equals("EE77DC90" )){
    Toast.makeText(this,"포인트가적립되었습니다.", Toast.LENGTH_SHORT).show();
    Intent get = new Intent(this,PointgetActivity.class);
    point = point + 5;
    startActivityForResult(get,5);
    finish();
    }

이렇게 프로그램을 작성하였는데요.

값을 비교해서 그 값이 일치하게 되면 토스트 화면을 보여주면서 point -> get activity로 넘어가기는 합니다.

 

그때 포인트를 주어야 하는데 그 부분이 너무 힘듭니다.

전역변수를 써야 하는것인지 아니면 인텐트 데이터 교환방식을 써서 일정한 데이터를 주어야 하는지...

또 전역변수를 쓰는 방법을 찾아보니 Log.e ? 이부분이 에러가 나네요

인텐트 데이터 교환은 버튼식으로 액티비티간에 정보를 주는방식이라 저한테는 안맞는거 같아서요.

 

데이터를 받으면 그 데이터를 정수형으로 받아

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pointget);
       
        TextView get =(TextView)findViewById(R.id.gettext);
        get.setText(String.format(getResources().getString(R.string.text),point) 여기에다가 데이터를 주고싶습니다)
       
        TextView accrue =(TextView)findViewById(R.id.accrue);
        accrue.setText(String.format(getResources().getString(R.string.accrue),1));
       
        TextView use =(TextView)findViewById(R.id.usetext);
        use.setText(String.format(getResources().getString(R.string.use),1));
 

 

 도와주시면 감사하겠습니다.

    

 

김희구 (440 포인트) 님이 2014년 7월 30일 질문

1개의 답변

0 추천

point를 static 변수로 만들고

pointgetActivity에서 사용할 때에는 pointActivity.point 라고 쓰시면 됩니다.

 

static으로 하지 않고 intent에 값을 전달하실때에는

if(toHexString(tagId).equals("EE77DC90" )){
    Toast.makeText(this,"포인트가적립되었습니다.", Toast.LENGTH_SHORT).show();
    Intent get = new Intent(this,PointgetActivity.class);
    point = point + 5;
    get.putExtra("point", point);  //값 저장
    startActivityForResult(get,5);
    finish();
}

 

pointgetActivity에서 받을 때는

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pointget);
       
    TextView get =(TextView)findViewById(R.id.gettext);
    
    int point = getIntent().getIntExtra("point", 0);
    get.setText(getResources().getString(R.string.text, point)

원조안드로이드 (58,190 포인트) 님이 2014년 7월 31일 답변
pointActivity.point  이부분을 getActivity에 변수를 지정하니까 오류가 뜨네요...
...