나는 현재 안드로이드 애플리케이션 (앱) 을 활동 및 조각 사이의 날짜 전달하십시오 만들어 보고 싶습니다. 내 활동 버튼를 조각이 열리고 있다. 다테피커프레이크망.
날짜, 어떤 난 내 활동 가르켜 수정할 수 있는 부분. I want to pass 날짜 및 전송할 수 있어 다테피커 다시 활동까지입니다.
네가 네 조각을 네윈스턴스 보낼 수 있는 기능을 추가할 인수만 있다.
/**
* Create a new instance of DetailsFragment, initialized to
* show the text at 'index'.
*/
public static DetailsFragment newInstance(int index) {
DetailsFragment f = new DetailsFragment();
// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
return f;
}
이 부분의 언크리치 언크리티비우 방법에 따라 '다음 인사이드' 또는 '' 이렇게 인수만 검색할 수 있습니다.
Bundle args = getArguments();
int index = args.getInt("index", 0);
문서용으로 자습서는:
http://developer.android.com/training/basics/fragments/communicating.html
Bundle bundle = new Bundle();
String myMessage = "Stackoverflow is cool!";
bundle.putString("message", myMessage );
FragmentClass fragInfo = new FragmentClass();
fragInfo.setArguments(bundle);
transaction.replace(R.id.fragment_single, fragInfo);
transaction.commit();
판독값 의 값이 조각
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String myValue = this.getArguments().getString("message");
...
...
...
}
그러나 보내려면 절 행사, 답을 합니다 의 값을 읽어 제프리 도고 인터페이스와도 필요한 추가 정보: 통신하는 다른 파편으로
이벤트 전달할 수 있는 라이브러리를 사용하여 프랑버스 랩탑에는 가변으로 앞뒤로. # 39 의 활동 및 부분 때문에 좋은 솔루션이 it& 느슨하게 연결된 유지합니다.
덕분에 @ρяσѕρєя ᄀ씨, 테리. 이를 통해 완벽하게 작동됨 저를 많이 및
활동 의도 사용하여 데이터를 보낼 수 있다.
Bundle bundle = new Bundle();
bundle.putString("edttext", "From Activity");
// set Fragmentclass Arguments
Fragmentclass fragobj = new Fragmentclass();
fragobj.setArguments(bundle);
또한 부분 언크리티비우 방법:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// get arguments
String strtext = getArguments().getString("edttext");
return inflater.inflate(R.layout.fragment, container, false);
}
코틀린 개발자를 위해 축복내린 거기에:
다음은 안드로이드 스튜디오 데이터를 전송하기 위해 제안된 솔루션 데이터베이스에구성원을 조각 (= 만들 때 사용하는 파일 - 빈 부분을 >. 새로운 - >. 단편 - >. 조각 조각 (빈) 와 있는지 포함시키십시오 methods" 팩터리의 ";).
이거 내 조각:
class MyFragment: Fragment {
...
companion object {
@JvmStatic
fun newInstance(isMyBoolean: Boolean) = MyFragment().apply {
arguments = Bundle().apply {
putBoolean("REPLACE WITH A STRING CONSTANT", isMyBoolean)
}
}
}
}
'좋은' 는 자마카베리 하는 데이터 집합 객체 생성 시, 또는 이를 그들은 스테이드 여기서요:
>. [블록] 을 (를) '이' 등 단말기 값을 지정한 함수 호출 >. '이' 및 반환 값.
그럼 작업또는 할 수 있는 부분.
val fragment = MyFragment.newInstance(false)
... // transaction stuff happening here
읽어서 인수만 에 다음과 같은 부분
private var isMyBoolean = false
override fun onAttach(context: Context?) {
super.onAttach(context)
arguments?.getBoolean("REPLACE WITH A STRING CONSTANT")?.let {
isMyBoolean = it
}
}
(activity as? YourActivityClass)?.callYourFunctionLikeThis(date) // your function will not be called if your Activity is null or is a different Class
The magic of 경험하십시오 코틀린!
조각을 만들 경우, 예를 들어 있는 안드로이드 스튜디오 중 하나를 사용하여 파일 > 템플릿일 새로운 >. 조각 >. 조각 (목록) 한 후, 이 부분은 XML 을 통해 링크됨. 하지만 이 방법은 없다, 이렇게 만들어진 네윈스턴스 조각이 t # 39 라는 can& 인수만 전달하는 데 사용됩니다.
대신 오버라이드합니다 오나타크프레이크망 활동 방법
@Override
public void onAttachFragment(Fragment fragment) {
if (fragment instanceof DetailsFragment) {
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
}
}
그 부분의 언크리치 다른 방법으로 답을 인수만 읽을 수 있는