왼쪽 선택한 요소의 오른쪽 세부 정보에 두 개의 단편으로 된 하나의 간단한 앱을 만들려고합니다. 괜찮아요,하지만 내 장치의 방향을 변경하면 목록의 일부 위치는 배경에 "얼어"입니다. 누구든지 나를 도울 수 있습니까?오리엔테이션 변경 후 단편에 listView를 표시 할 때의 문제
내 활동의에서 onCreate 방법 :
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i("on ", "createActivity");
FragmentTransaction fTrans=getFragmentManager().beginTransaction();
fTrans.add(R.id.frame1, fragmentList);
fTrans.add(R.id.frame2, detailFragment);
//detailFragment.setData("name 0", "src 0", BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
fTrans.commit();
DetailFragment :
public class DetailFragment extends Fragment {
private TextView tv1;
private TextView tv2;
private ImageView iw;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.detail_fragment , container, false);
tv1=(TextView)view.findViewById(R.id.detailText1);
tv2=(TextView)view.findViewById(R.id.detailText2);
iw=(ImageView)view.findViewById(R.id.detailImage);
return view;
}
public void setData(String text1, String text2, Bitmap bmp) {
tv1.setText(text1);
tv2.setText(text2);
iw.setImageBitmap(bmp);
}
ListFragment : 응용 프로그램 태그에서이 매니페스트에
public class FragmentList extends Fragment {
ArrayList<HashMap<String, Object>> list=new ArrayList<HashMap<String, Object>>();
String[] from={"name", "imageSource", "image"};
int[] to={R.id.text1,R.id.text2,R.id.imageView};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
HashMap<String, Object> m=new HashMap<String, Object>();
for(int i=0; i<=19; i++) {
m=new HashMap<String, Object>();
m.put("name", "name "+i);
m.put("imageSource", "src "+i);
m.put("image", BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
list.add(m);
}
Log.i("on ", "createView");
View view=inflater.inflate(R.layout.fragment_list, null);
MyAdapter myAdapter=new MyAdapter(getActivity(), list, R.layout.row, from, to);
ListView listView=(ListView)view.findViewById(R.id.listView);
listView.setAdapter(myAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
DetailFragment df=(DetailFragment)getFragmentManager().findFragmentById(R.id.frame2);
df.setData((String)list.get(i).get("name"), (String)list.get(i).get("imageSource"), (Bitmap)list.get(i).get("image"));
}
});
return view;
}
}
더 자세히 설명 할 수 있습니다. 편집을 눌러 이것이 왜 대답인지 설명하십시오. 응용 프로그램 태그> –
davidkonrad
내 질문을 이해하지 못했습니다. 나는 방향을 바꾸기를 원한다. 그리고 그것은 바뀐다. 그러나 왼쪽의 목록은 백그라운드에서 단지 "정지"하다. (나는 목록을 스크롤 할 수 있지만 배경에서는 목록의 이전 위치를 볼 수있다.), 미안하지만 아직 나는 스크린 샷을 게시 할 수 없다. – Abhishek
에있는 매니페스트 파일의 – Tihamer