gpt4 book ai didi

java - 从 onClick 事件/onClick 事件行为获取数据

转载 作者:行者123 更新时间:2023-12-01 12:01:31 24 4
gpt4 key购买 nike

我已经编码有一段时间了,但我从未参加过任何类(class),所以我对某些事情如何运作有一些疑问。其中之一是 onClick 监听器。我有一个关于 onClick 事件的问题,更确切地说是 onItemClick 事件。

假设我有一个简单的 listView,我想处理 onItemClick 事件,我会有类似的内容:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ListView lv = (ListView)findViewById(R.id.listView);

String parameter = "123";

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
// TODO1
}

}
// TODO2

有没有办法传递“item”的值,以便我可以在“TODO2”中使用它?

另外,如果我在 TODO1 中有一些事情要做并且需要“参数”变量,有没有办法将其传递到 onItemClick 方法中?

谢谢!

最佳答案

1) new AdapterView.OnItemClickListener 是一个匿名内部类。它可以使用周围类的字段

2) 参数必须定义为“最终”变量。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ListView lv = (ListView)findViewById(R.id.listView);

String final parameter = "123"; //<--

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
item = parent.getItemAtPosition(position).toString(); //<--
// TODO1
System.out.println(parameter)
}

}
// TODO2

private String item = null;

public String getLastClickedItem(){
return item;
}

关于java - 从 onClick 事件/onClick 事件行为获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com