2016-07-12 4 views
1

현재 아이 이름 목록을 표시하고 이름 옆에 어댑터 클래스가있어 학교에 도착한 시간을 표시합니다. 가로로 회전하면 시간 값이 손실되는 문제가 있습니다.가로 모드의 조각 활동에서보기 소유자에 액세스하는 방법

어댑터 클래스는 같은입니다 -

public class MyAdapter extends CursorAdapter { 

@Override 
    public View newView(Context context, Cursor cursor, ViewGroup parent) { 
     View view = layoutInflater.inflate(R.layout.children_item, parent, false); 
     // Cache the views using the view holder pattern 
     ViewHolder viewHolder = new ViewHolder(); 
     viewHolder.childname = (TextView) view.findViewById(R.id.child_name); 
     viewHolder.time = (TextView) view.findViewById(R.id.child_time); 
     view.setTag(viewHolder); 
     return view; 
    } 

    @Override 
    public void bindView(View view, Context context, Cursor cursor) { 
     ViewHolder viewHolder = (ViewHolder) view.getTag(); 
     Child child = children.createStopFromCursor(cursor); 

        viewHolder.time.setText(strText); 
        viewHolder.time.setTextColor(0xff000000); 
        viewHolder.time.setTextSize(17); 
        viewHolder.time.setVisibility(View.VISIBLE); 
        viewHolder.time.setBackgroundColor(nColor); 
        viewHolder.time.setPadding(25,25,25,25); 
        view.invalidate(); 
     } 
    } 

나는대로이 MainActivity 태그에서 매니페스트입니다 delare -

MyFragment 활동에
android:configChanges="orientation|screenSize" 

, 내가 가진 -

public class MyFragment extends Fragment { 
    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 

     //How do I access viewHolder or TextView "time" here 
     } 
    } 
    } 

방법 가로 모드에서 값을 업데이트하려면 viewHolder 또는 TextView "time"에 액세스 하시겠습니까?

답변

1

당신은 당신의 조각 당신의 onCreate에서이 작업을 수행 할 수 있습니다 : 당신이하지 귀하의 configChanges 옵션을 지정한 이후

setRetainInstance(true); 

그러나, 이것은 필요는 없습니다 활동를 다시 만들고, 그래서 뭔가 다른 여기에 잘못된 것입니다 .

+0

configChanges를 추가 한 이래로 풍경에 세로 레이아웃을 추가하고 있지만 시간 값은 손실되지 않습니다. 풍경에 대한 다른 레이아웃이 있는데 이는 configChanges = screenSize로 인해 표시되지 않습니다. 어떻게 이것을 극복 할 수 있습니까? – Mark023

+0

세로 및 가로 레이아웃이 서로 다른 경우 configChanges를 전혀 사용할 수 없습니다. 그러나 setRetainInstance를 사용하면 조각이 방향 변경시 데이터와 함께 보존됩니다. –

+0

setRetainInstance (true)를 시도했지만 아직 개발되지 않았습니다. – Mark023

관련 문제