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.
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.
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.
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.
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.
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] ); } });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With