두 조각 사이를 통과하는 데이터에 문제가 있습니다. 한 활동에 두 개의 단편이 있습니다. Fragment1에서 나는 내가 이미지 뷰, 텍스트 뷰와 체크 박스리스트 뷰를 채우기 내 ListViewAdapter의 레이아웃조각에서 단편으로 데이터를 전달하십시오.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp" >
<ImageView
android:id="@+id/imageView01"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY"
android:src="@drawable/icon" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/titleView1"
android:layout_alignTop="@+id/imageView01"
android:text="add to favorites" />
<TextView
android:id="@+id/titleView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/checkBox1"
android:layout_toRightOf="@+id/imageView01"
android:text="text"
android:textColor="#FF2F22"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>
활동 코드
public class MainActivity extends FragmentActivity {
private PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager_layout);
initialisePaging();
}
private void initialisePaging() {
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));
mPagerAdapter = new PagerAdapter(this.getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager) findViewById(R.id.viewpager);
pager.setAdapter(mPagerAdapter);
}
}
fragment1 코드
public class Fragment1 extends Fragment {
private ListView listViewImages;
private EditText txtSearchText;
private ListViewImageAdapter adapter;
private ArrayList<Object> listImages;
private Fragment activity;
String strSearch = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = (LinearLayout) inflater.inflate(R.layout.fragment1_layout, container, false);
activity = this;
listViewImages = (ListView) view.findViewById(R.id.lviewImages);
...
return view;
}
와 목록보기가 있습니다. 체크 박스 나는 (내가 확인란을 선택하면 데이터가 Fragment2에 전달해야)는 OnClickListener를 설정하려는
CheckBox call = (CheckBox) vi.findViewById(R.id.checkBox1);
call.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// HERE DATA MUST BE PASSED TO Fragment2
RelativeLayout rl = (RelativeLayout) v.getParent();
TextView txtViewTitle = (TextView) rl.findViewById(R.id.titleView1);
String text = txtViewTitle.getText().toString();
Log.i("!!!", "Click on CheckBox"+text);
}
});
겠어요 - 내 질문에 어떻게 다른 단편에 데이터를 전달할 수 있습니다, 내가 ListBox (ListView 항목이 아닌 !!!)를 누르면? 나는 ListFragment가 없다. ListView를 가진 간단한 조각이다. ListView의 각 항목은 ImageView, CheckBox, TextBox를 포함한다. 감사합니다. .
중복 가능성 [조각 사이의 값을 전달하는 방법 (http://stackoverflow.com/questions/16036572/how -to-passed-values-fragments 사이) – midhunhk
MainActivity 넘기 –
@zond 작은 예제를 썼습니다. –