这里新建一个activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
可以看出,很简单,只是在布局文件中加上了一个ListView控件
接下来我们实现对ListView的点击事件
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
private ListView listView;
private String[] data = {"Java", "C++", "PHP", "Python", "jQuery"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) this.findViewById(R.id.listView);
ArrayAdapter<Object> arrayAdapter = new ArrayAdapter<Object>(this, android.R.layout.simple_expandable_list_item_1, data);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(this);
}
@Override
// 第一个参数是指点击的子项目所在的listView
// 第二个参数是值点击的子项目的View,我们可以获取这个View
// 第三个参数是指点击的子项目所在的位置【一般与data的下标相同】
// 第四个参数是指点击的子项目所在的行数
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (parent == listView) {
Toast.makeText(MainActivity.this, "您选择了" + data[position], Toast.LENGTH_LONG).show();
}
}
}
效果如下: