0

just start my learning in Android. This is a small question but I really want to know how to solve it.

public class MainActivity extends AppCompatActivity {
    ListView l;
    String [] days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        l = (ListView) findViewById(R.id.ListView);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.single_row, R.id.textView, days);
        l.setAdapter(adapter);
        l.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                Toast.makeText(MainActivity.this, "Hi",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Hope someone can help me. Thank you!

CHAORAN LI
  • 15
  • 4

2 Answers2

2

Use the data in days array. position argument of onItemClick method points to which item position you clicked in the ListView.

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    String selected = days[position];
    Toast.makeText(MainActivity.this, selected, Toast.LENGTH_SHORT).show();
}
K Neeraj Lal
  • 6,768
  • 3
  • 24
  • 33
0
String selectedFromList =(String) (l.getItemAtPosition(position));

(https://stackoverflow.com/a/4509011/5766770)

Edit: Neeraj's code is probably the better solution

Community
  • 1
  • 1
Cath
  • 460
  • 6
  • 21