profile image

L o a d i n g . . .

반응형

안드로이드 프레그먼트 간 데이터 전달

Data transfer between Android Fregment

 

안드로이드 프레그먼트 간 데이터 전달은 번들을 이용하라는 구글링을 통해 얻은 답이 있었지만, 나는 적용을 하지 못했다.

그래서 원래 알고 있던 개념을 토대로 다시 해보았는데, 메인 액티비티에 데이터를 보내서 다시 다른 프레그먼트로 데이터를 전달하는 방식이다.

결국 Bundle을 이용하는게 아닌 전달 메소드 하나 만들어서 한건데 일단 내가 원하는 값은 간다.

 

The data transfer between Android Fregment had answers from Googleching to use the bundle, but I couldn't apply it.

So I tried again based on the concept I originally knew, which is how I send data to Maine Activation and transfer it back to another Fregment.

After all, I made a delivery method instead of using Bundle, but the price I wanted is going to go.

 

public void onButtonClickcheck_one_to_two(int index) {
        fragment_twoLine.setButtonClickCheck(index);
    }

public void onButtonClickcheck_two_to_one(int index) {
fragment_oneLine.setButtonClickCheck(index);
	}

일단 메인 엑티비티에 메소드를 정의한다.

나는 A프래그먼트와 B프래그먼트간의 버튼이 눌렸는지 확인하는 정도의 데이터를 전달하려는 목적으로 만들어서, 똑같은 메소드를 이름만 다르게 2개를 정의하였다.

하나의 프래그먼트에서 이 메소드로 인덱스를 보내면 메인액티비티에서는 다시 다른 프래그먼트로 값을 보내는 형식이다.

 

Once the method is defined for the main activity.

I defined two methods with different names by making the same method for the purpose of conveying data to the extent that the buttons between the Apragment and B-fragment were pressed.

If you send the index from one program to this method, the main activity sends the value back to the other.

 

main.onButtonClickcheck_one_to_two(1000);

프레그먼트에서는 Attach 메소드를 이용하여 메인 액티비티의 메소드를 사용할 수 있게 한다.

그리고 간단하게 index값을 보내도록 한다.

그리고 액티비티간 데이터를 주고 받을 수 있게 메소드 하나를 더 정의한다.

 

The Fregment makes the main activity's method available using the Attach method.

And simply send index value.

Then define one more method so that you can send and receive data between activity.

public void setButtonClickCheck(int index) {
        this.buttonCheck = index;
        if (buttonCheck == 2000) {
            frg_1.setEnabled(false);
            frg_2.setEnabled(false);
            frg_3.setEnabled(false);
            frg_4.setEnabled(false);
            frg_5.setEnabled(false);
            frg_6.setEnabled(false);
        } else if(buttonCheck == 3000) {
            frg_1.setEnabled(true);
            frg_2.setEnabled(true);
            frg_3.setEnabled(true);
            frg_4.setEnabled(true);
            frg_5.setEnabled(true);
            frg_6.setEnabled(true);
        }
    }

index값만 받고 나머지 처리는 어떠한 방법으로 이용할지에 따라 다르지만,

나는 버튼의 활성화 정도로만 사용하기에 위와같은 방법으로 사용하였다.

 

The index value only depends on how you want to use the rest of the processing.
I used the above method for only the activation of the button.

 

 

다른 프레그먼트의 메소드와 사용방법은 같으므로 올리진 않았다.

Bundle을 이용해서 데이터간 전달을 하면 된다는데, 왜 나는 계속 안되는건지..

 

It was not raised because the methods used by other Freudian methods are the same.
You can use Bundle to transfer data between data, so why can't I continue?

반응형
복사했습니다!