-1

Я не могу прокручивать вниз после прокрутки в моем домашнем фрагменте. В окне просмотра было установлено прокручивание вниз. Мне нужно прокрутить вниз и прокрутить вниз в моем приложении, но обновить действие должен работать только в том случае, если список находится наверху.Прокрутка вниз обновляет список из всех позиций

мой дом фрагмент активности

 public class EmployerHome extends Fragment implements AbsListView.OnScrollListener { 


private ArrayList<Sample> list; 
private ConnectAdapter adapter; 
private ListView listView; 
private HashMap<String, String> cData; 
private CardView cv; 
private Common mApp; 
private Context mContext; 
private RelativeLayout udyowel; 
private ProgressBar progressBar; 

private int preLast; 
private SwipeRefreshLayout swipe; 

public EmployerHome() { 
    // Required empty public constructor 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    mContext = getActivity(); 
    mApp = (Common) mContext.getApplicationContext(); 
    View view = inflater.inflate(R.layout.fragment_employer_home, container, false); 

    udyowel = (RelativeLayout) view.findViewById(R.id.udyopro_post); 
    listView = (ListView) view.findViewById(R.id.post); 
    progressBar = (ProgressBar) view.findViewById(R.id.progress_bar); 
    swipe = (SwipeRefreshLayout) view.findViewById(R.id.swipe); 
    cv = (CardView) view.findViewById(R.id.udp); 
    list = new ArrayList<Sample>(); 

    new GetHome(getActivity(), listView, progressBar, mApp.getPreference().getString(Common.u_id, ""), "all", swipe).execute(); 


    /* if (listView.getCount()==0){ 
     udyowel.setVisibility(View.VISIBLE); 
    }else {*/ 
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

       TextView txt = (TextView) view.findViewById(R.id.jId); 
       Intent in = new Intent(getActivity(), PostViewActivity.class); 
       in.putExtra("jId", txt.getText().toString()); 
       startActivity(in); 
      } 
     }); 
    // } 

    listView.setOnScrollListener(this); 
    swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
     @Override 
     public void onRefresh() { 
      new GetHome(getActivity(), listView, progressBar, mApp.getPreference().getString(Common.u_id, ""), "all", swipe).execute(); 
     } 
    }); 
    return view; 
} 

@Override 
public void onScrollStateChanged(AbsListView view, int scrollState) { 

} 

@Override 
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 
    if (view.getId() == R.id.post) { 
     int lastItem = firstVisibleItem + visibleItemCount; 
     if (lastItem == totalItemCount) { 
      if (preLast != lastItem) { 
       preLast = lastItem; 
       //Toast.makeText(getActivity(), "In Last", Toast.LENGTH_SHORT).show(); 
      } 

     } else { 
      // udyowel.setVisibility(View.VISIBLE); 
     } 
    } 
} 
} 

Мой XML код

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/swipe" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.shuan.Project.fragment.ConnectionFragment"> 


    <ProgressBar 
     android:id="@+id/progress_bar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" /> 

    <ListView 
     android:id="@+id/post" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:divider="@null" 
     android:visibility="gone" /> 
</RelativeLayout> 

ответ

1

в методе onScroll, если firstVisibleItem == 0 набор салфетки включить в противном случае он должен оставаться отключить, как вы должны красть только обновите, если вы находитесь наверху списка.

+0

благодарит вас за помощь –

+0

приветствуется. вы можете принять ответ, если он вам помог @ Назимч :) –

Смежные вопросы