Android中有一些View是包含多个元素的,例如ListView,GridView等,为了给View的每一个元素都设置数据,就需要Adapter了。
常用的Adapter包括ArrayAdapter和SimpleAdapter。
ArrayAdapter比较简单,它只能用于显示文字。看代码:
MainActivity.java
package cn.lixyz.listviewtest; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; 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 = {"橘子","苹果","香蕉","西瓜","樱桃","猕猴桃","木瓜","山竹", "桃","葡萄","山楂","杏","核桃","哈密瓜","菠萝","柚子","无花果","柠檬","李子"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, data); listView = (ListView) findViewById(R.id.list_view); listView.setAdapter(adapter); listView.setOnItemClickListener(this); } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String text = listView.getItemAtPosition(position) + ""; Toast.makeText(this,"position=" + position + " text=" + text,Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity.this,ShowFruit.class); intent.putExtra("fruitNum",position); startActivity(intent); } }