Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I set onClickListener on ArrayAdapter?

I'm making class like as below

// All necessary imports are here  public class More extends Activity {      String[] MoreItems = { "Transfers", "Budgets", "Branches", "Tools", "News",             "Customer Service", "Settings", "Help", "About" };      @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.more_view);          ListView moreListView = (ListView) findViewById(R.id.moreListView);         MoreListAdapter listAdapter = new MoreListAdapter();         moreListView.setAdapter(listAdapter);          // accountsTypeListView.setOnItemClickListener(listClickListner);     }      class MoreListAdapter extends ArrayAdapter<String> {         MoreListAdapter() {             super(More.this, R.layout.list_item, MoreItems);         }          public View getView(int position, View convertView, ViewGroup parent) {             View row;              if (convertView == null) {                 LayoutInflater inflater = getLayoutInflater();                 row = inflater.inflate(R.layout.list_item, parent, false);             } else {                 row = convertView;             }             TextView tv = (TextView) row.findViewById(R.id.textItem);              tv.setText(getItem(position));              return row;         }     } } 

It will generate the List, I want to call respective activities on respective click, like if User click Transfer then it will show transfer Activity, How can I call onClickListener on this list and how can I start Activity on click.

like image 360
Chatar Veer Suthar Avatar asked Dec 23 '11 11:12

Chatar Veer Suthar


People also ask

How do I add items to ArrayAdapter?

Create a global ArrayList and add the contents to it using add() and pass it to ArrayAdapter. It's better to pass the List or String[] to ArrayAdapter and set that adapter to List You should update the List or Array being passed to Adapter, not Adapter itself.

What is view OnClickListener?

In Android, the OnClickListener() interface has an onClick(View v) method that is called when the view (component) is clicked. The code for a component's functionality is written inside this method, and the listener is set using the setOnClickListener() method.

What is setOnClickListener new view OnClickListener ()?

setOnClickListener(this); means that you want to assign listener for your Button “on this instance” this instance represents OnClickListener and for this reason your class have to implement that interface. If you have more than one button click event, you can use switch case to identify which button is clicked.

How do I use ArrayAdapter?

Go to app > res > layout > right-click > New > Layout Resource File and create a new layout file and name this file as item_view. xml and make the root element as a LinearLayout. This will contain a TextView that is used to display the array objects as output.


1 Answers

you can also do like this..

moreListView.setOnItemClickListener(new OnItemClickListener() {              @Override             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,                     long arg3) {                 // TODO Auto-generated method stub                 Log.d("############","Items " +  MoreItems[arg2] );             }          }); 
like image 168
Sujit Avatar answered Oct 08 '22 03:10

Sujit