我有一个ArrayList,它有一些String变量,我有一个自定义的ArrayAdapter,我从ArrayList填充。现在,当显示列表中的列表和列表中的项目时,我希望程序执行某些操作但我不知道该怎么做。我看了几个例子,但我不知道究竟在哪里放置代码。所以这是我的代码,你能告诉我该做什么以及在哪里做吗?
MainActivity.java
public class MainActivity extends AppCompatActivity {
private ArrayAdapter<String> listAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
updateList(listOfItems);
}
public void updateList(ArrayList<String> possibleWords){
listAdapter = new CustomListAdapter(this, R.layout.custom_list,possibleWords);
android.R.layout.simple_list_item_1, possibleWords);
final ListView listView = (ListView)findViewById(R.id.listview);
listView.setAdapter(listAdapter);
}
CustomListAdapter.java类
public class CustomListAdapter extends ArrayAdapter {
private Context mContext;
private int id;
private List<String> items ;
public CustomListAdapter(Context context, int textViewResourceId , List<String> list )
{
super(context, textViewResourceId, list);
mContext = context;
id = textViewResourceId;
items = list ;
}
@Override
public View getView(int position, View v, ViewGroup parent)
{
View mView = v ;
if(mView == null){
LayoutInflater vi = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mView = vi.inflate(id, null);
}
return mView;
}
}
以下是输出结果的示例图像
所以当点击“act”或“cat”时,我想做点什么,但我不知道如何处理点击以及将代码放在我想做的事情的位置。
答案 0 :(得分:0)
将以下代码放在您的主要活动
上listview.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position,
long arg3)
{
//do your work here
}
});
答案 1 :(得分:-1)
请在适配器中添加点击监听器,如下所示
mView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// do something when the button is clicked
}
};