안드로이드 프래그먼트를 작성하여 응용 프로그램 전체에서 재사용 할 수있는 금액 삽입 상자를 구현하는 방법을 배우려합니다. 그래서 일부 EditText 상자가있는 간단한 XML 파일을 만듭니다.안드로이드 프래그먼트에서 MyActivity.java로 정보를 얻는 방법
public class AmountFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.amount_fragment, container, false);
return view;
}
}
난 다음 다른 xml 파일이 조각을 사용합니다 : 이것은 잘 지금까지 작동
<fragment
android:name="com.example.android.ui.widget.AmountFragment"
android:id="@+id/transaction_amount"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
그때 AmountFragment.java라는 관련된 자바 파일을 만들었습니다. 그것은 조각을 잘 보여 주며 그 안에 숫자를 삽입 할 수 있습니다. 이제 mainActivity에서 삽입 된 텍스트를 가져올 수 있어야합니다. 그래서 나는 안드로이드 워드 프로세서에서 this page on Fragments을 읽었지 만, 나는 완전히 잃어 버렸습니다. 그들이 보여주는 코드는 전혀 이해가되지 않습니다. 나는 인터페이스를 정의 할 필요가있다. 그러나 나는 그 인터페이스와 관련이 없다는 단서가 없다. 단순히 복사하여 붙여 넣으려고했지만 InflateException이 발생합니다. 내가 무슨 일이 일어나는지 알지 못하기 때문에 해결책을 찾을 곳이 없다.
내 질문 : 아무도 내게 그것을 사용하는 활동이 조각을 인터페이스하는 방법에 대한 몇 가지 포인터를 줄 수 있습니까?
팁 주셔서 감사합니다! 실제로 완벽합니다. 또 다른 일. 물론 EditText의 결과를 MainActivity로 가져오고 싶습니다. 그래서'EditText et = (EditText) findViewById (R.id.amount);'를 시도했지만 findViewById (int) 메소드가 AmountFragment 타입에 대해 정의되지 않았다고 불평합니다. MainActivity의 xml에서 제출 버튼을 클릭하면 mainActivity에 대한 특정 EditText의 결과를 어떻게 얻을 수 있었는지 어떤 아이디어가 있습니까? – kramer65
거기 비슷한 수정. 'getActivity(). findViewById (R.id.amount)'가 작동합니다. 또한이 방법으로 문제가 해결되면이 질문에 대한 답을 다른 사람들에게 맞게 수정하십시오. 감사. – bclymer