views:

252

answers:

0

Hi, im new to Android programing

I build a listview showing station names, that grabs its data from a URL.

I used ArrayAdapter to accomplish listview with data.

I need to navigate through station names in listview, using previous, next buttons click.

I google for this task and tried in different ways to workout bt im not able to solve.

shall any one pls help me out for this issue.

Thanks in advance......

I tried like this

private ListView stationList;

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.playscreen);


            // move up event handler
            preButton= (ImageButton) findViewById(R.id.prevButton);

            preButton.setOnClickListener(new View.OnClickListener() {
               public void onClick(View view) {
                   movePre();
               }
            });

            // move down event handler
            nxtButton= (ImageButton) findViewById(R.id.nextButton);
            nxtButton.setOnClickListener(new View.OnClickListener() {
               public void onClick(View view) {
                   moveNxt();
               }
            });



            stationList.setAdapter(new StationAdapter(this,
                    android.R.layout.simple_list_item_1, _stationList));

        } else {
            Log.d(TAG, "No Stations");
        }

    }

private void movePre(){

         stationList.setSelection(stationList.getSelectedItemPosition() - 1);
}




    // Move selected item "down" in the ViewList.
    private void moveNxt(){
        stationList.setSelection(stationList.getSelectedItemPosition() + 1);
    }

private class StationAdapter extends ArrayAdapter<Station> {

        private Vector<Station> items;

        public StationAdapter(Context context, int textViewResourceId,
                Vector<Station> items) {
            super(context, textViewResourceId, items);
            this.items = items;
        }

        public void setSelectedPosition(int pos){
            selectedPos = pos;
            // inform the view of this change
            notifyDataSetChanged();
        }

        public int getSelectedPosition(){
            return selectedPos;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = convertView;
            if (v == null) {
                LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                v = vi.inflate(R.layout.row, null);
            }
            Station st = items.get(position);
            if (st != null) {
                TextView tt = (TextView) v.findViewById(R.id.toptext);
                TextView bt = (TextView) v.findViewById(R.id.bottomtext);
                if (tt != null) {
                    tt.setText(st.getStationName());
                }
                if (bt != null) {
                    bt.setText(st.getCT());
                }
            }

            return v;
        }


    }