如何设置onItemClick方法以显示我在ListView中单击的文本?

时间:2017-01-11 18:15:38

标签: java android listview android-arrayadapter

刚开始在Android学习。这是一个小问题,但我真的想知道如何解决它。

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();
            }
        });
    }
}

希望有人可以帮助我。谢谢!

2 个答案:

答案 0 :(得分:2)

使用days数组中的数据。 position方法的onItemClick参数指向您在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();
}

答案 1 :(得分:0)

String selectedFromList =(String) (l.getItemAtPosition(position));

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

编辑:Neeraj的代码可能是更好的解决方案