Skip to content Skip to sidebar Skip to footer

Android: Cannot Set Both: Setonitemclicklistener Setonscrolllistener?

class MyActivity extends Activity implements OnScrollListener, OnItemClickListener { ... listView.setOnItemClickListener(this); listView.setOnScrollListener(this); // why not wor

Solution 1:

I don't see why it shouldn't work,

Try this :

getListView().setOnScrollListener(onAnswersScrolled);
  getListView().setOnItemClickListener(onAnswerClicked);

privateOnItemClickListeneronAnswerClicked=newOnItemClickListener() {

        @OverridepublicvoidonItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // Intenti=newIntent();

                setResult(RESULT_OK, i);
                finish();
        }

    };

    privateOnScrollListeneronAnswersScrolled=newOnScrollListener() {

        @OverridepublicvoidonScrollStateChanged(AbsListView view, int scrollState) {
            // not used
        }

        @OverridepublicvoidonScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            // do something
            }
        }
    };

source

Solution 2:

Try this. This is my code to display a customized listView. It works for me.

publicclassMyActivityextendsListActivityimplementsOnScrollListener  {

MyAdapter adapter= newMyAdapter(this);

protectedvoidonCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(adapter); 
    getListView().setOnItemClickListener(this);
    getListView().setOnScrollListener(this);
}

publicclassMyAdapterextendsBaseAdapter{

    private LayoutInflater mInflater;
    ViewHolderholder=null;

    publicMyAdapter(Context context){
        this.mInflater = LayoutInflater.from(context);
    }
    @OverridepublicintgetCount() {
        // TODO Auto-generated method stubreturn mData.size();
    }

    @Overridepublic Object getItem(int arg0) {
        // TODO Auto-generated method stubreturnnull;
    }

    @OverridepubliclonggetItemId(int arg0) {
        // TODO Auto-generated method stubreturn0;
    }

    @Overridepublic View getView(int position, View convertView, ViewGroup parent) {
        /**Original holder
         * 
         * 
         * *///ViewHolder holder = null;if (convertView == null) {

            holder=newViewHolder();  

        }else {

            holder = (ViewHolder)convertView.getTag();
        }

        return convertView;
    }

    classmyButtonListenerimplementsOnClickListener {
        privateint position;


        myButtonListener(int pos) {
            position = pos;
        }

        @OverridepublicvoidonClick(View v) {
            int vid=v.getId();

        }
    }

}

hope it helps.

Post a Comment for "Android: Cannot Set Both: Setonitemclicklistener Setonscrolllistener?"