package com.schibsted.spain.barista.sample; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; public class ListViewActivity extends AppCompatActivity { private static final String[] FRUITS = {"Banana", "Apple", "Orange", "Raspberry"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listview); ListView listView = (ListView) findViewById(R.id.listview); listView.setAdapter(new TextAdapter(this, FRUITS)); } public static class TextAdapter extends BaseAdapter { private Activity activity; private String[] items; TextAdapter(Activity activity, String[] items) { this.activity = activity; this.items = items.clone(); } @Override public int getCount() { return this.items.length; } @Override public Object getItem(int position) { return this.items[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View rowView = convertView; if (convertView == null) { LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); rowView = inflater.inflate(R.layout.row_with_buttons, parent, false); } final TextView textView = (TextView) rowView.findViewById(R.id.textview); textView.setText(items[position]); rowView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(activity, LabelActivity.class); i.putExtra(LabelActivity.EXTRA_TEXT, textView.getText().toString()); activity.startActivity(i); } }); return rowView; } } }