жест салфетки не работает, если я удаляю отступы

#android #fragment #padding #swipe

#Android #фрагмент #заполнение #проведите пальцем

Вопрос:

Привет, ребята, я новичок в Android, поэтому, пожалуйста, потерпите, если я задаю глупый вопрос. Я пытаюсь реализовать жест прокрутки влево и вправо в listfragment и перезагрузить фрагмент с другим расположением на салфетке. Но движение салфетки работает в углах моего списка (т. Е. Если корневой макет дополнен). Если я попытаюсь провести пальцем, коснувшись представления списка, это не сработает. Пожалуйста, помогите. Скриншот проблемы здесь, вот мой метод действия::

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my_actionable);

    initialize();
    replaceFragment(factordetailsFrag);
    //addDataToInvoicetable();
    frag_container.setOnTouchListener(new OnSwipeTouchListener(this) {
        @Override
        public void onSwipeLeft() {
            //replaceFragment(invoiceDetailsFrag);
            replaceFragment(list_view_demo_frag);
        }

        @Override
        public void onSwipeRight() {
            replaceFragment(factordetailsFrag);
        }
    });


    /*list_view_demo_frag.getListView().setOnTouchListener(new OnSwipeTouchListener(this){
        @Override
        public void onSwipeLeft() {
            //replaceFragment(invoiceDetailsFrag);
            replaceFragment(list_view_demo_frag);
        }

        @Override
        public void onSwipeRight() {
            replaceFragment(factordetailsFrag);
        }
    });*/

    //ListView view = (ListView)findViewById(and);

}
  

ListFragmentDemoClass::

 public class ListFragmentDemo extends ListFragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.custom, container, false);

    return view;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    //ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(), R.array.Planets, android.R.layout.simple_list_item_1);
    ListViewAdapter adapter = new ListViewAdapter(getActivity(), getData());
    setListAdapter(adapter);
}

private ArrayList<invoiceDetailsModel> getData() {
    ArrayList<invoiceDetailsModel> returnlist = new ArrayList<>();

    invoiceDetailsModel obj1 = new invoiceDetailsModel();
    obj1.setAmount("1000");
    obj1.setInvNum("AB--nsdfj");
    obj1.setApprovedAmount("200");
    returnlist.add(obj1);

    invoiceDetailsModel obj2 = new invoiceDetailsModel();
    obj2.setAmount("1030");
    obj2.setInvNum("GF--nsdfj");
    obj2.setApprovedAmount("20");
    returnlist.add(obj2);

    invoiceDetailsModel obj3 = new invoiceDetailsModel();
    obj3.setAmount("10000");
    obj3.setInvNum("AT");
    obj3.setApprovedAmount("200");
    returnlist.add(obj3);

    for (int i=0; i<400;i  ){
        invoiceDetailsModel obj = new invoiceDetailsModel();
        obj.setAmount("10000");
        obj.setInvNum("AT--" Integer.toString(i));
        obj.setApprovedAmount("200");
        returnlist.add(obj3);

    }
    return returnlist;
}

@Override
public void setEmptyText(CharSequence text) {
    super.setEmptyText(text);
}
  

}

Мой класс адаптера::

 public class ListViewAdapter extends BaseAdapter {

private ArrayList<invoiceDetailsModel> listData;
private LayoutInflater layoutInflater;
Activity activity;
TextView txtFirst;
TextView txtSecond;
TextView txtThird;
TextView txtFourth;
public ListViewAdapter(Activity activity, ArrayList<invoiceDetailsModel> list){
    super();
    this.activity=activity;
    this.listData=list;

    /*for (invoiceDetailsModel temp: listData){
        Log.i("sammy",temp.getAmount());
        Log.i("sammy",temp.getApprovedAmount());
        Log.i("sammy",temp.getInvNum());
    }*/
}


@Override
public int getCount() {
    Log.i("sammy","The list is called with size::" listData.size());
    if (listData==null){return 0;}
    return listData.size();
}

@Override
public Object getItem(int position) {
    if (listData==null){ return null;}
    return listData.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder = null;

    if(convertView == null){
        //LayoutInflater.from(activity).inflate()
        holder = new ViewHolder();
        this.layoutInflater = activity.getLayoutInflater();
        convertView=layoutInflater.inflate(R.layout.colmn_row, null);
        convertView.setTag(holder);
        holder.invNumView = (TextView) convertView.findViewById(R.id.invNum);
        holder.amountView = (TextView) convertView.findViewById(R.id.amount);
        holder.approvedAmountView = (TextView) convertView.findViewById(R.id.approvedAmnt);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
   // holder = new ViewHolder();

    if (listData!=null){
        holder.invNumView.setText(listData.get(position).getInvNum());
        holder.amountView.setText(listData.get(position).getAmount());
        holder.approvedAmountView.setText(listData.get(position).getApprovedAmount());
    }

    return convertView;
}

/*@Override
public boolean isEnabled(int position) {
    return false;
}*/

class ViewHolder {
    TextView invNumView;
    TextView amountView;
    TextView approvedAmountView;
}
  

}

Комментарии:

1. Почему вы не используете ViewPager?

2. Я очень новичок в Android, поэтому не могли бы вы указать мне правильное направление.

3. Взгляните на эту ссылку journaldev.com/10096/android-viewpager-example-tutorial

4. привет @SamuelRobert спасибо.. сообщение действительно хорошее, и оно мне очень помогло.. я могу заставить салфетку работать в кратчайшие сроки.