gpt4 book ai didi

java - Android:使 ListView 中的单个项目可点击

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

我目前有一个ListView id=listview ,我正在填充 ArrayList id=myarraylist 。我是这样做的:

final ListView listview = (ListView) findViewById(android.R.id.list);
myarraylist = (ArrayList<String>) getArray();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mylist);

myarraylist.add(...And then some other stuff I add...);

//This is the part I want to focus on
myarraylist.add("Reset High Scores");

adapter.notifyDataSetChanged();
listview.setAdapter(adapter);

现在,我想要条目 Reset High Scores在我的ListView可点击,当点击它时,我希望它执行 Some Stuff 。我知道对于按钮,您所做的就是设置一个 onClickListener

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

..Some Stuff..

}
});

我的问题是,我怎样才能制作 Some Stuff当元素 Reset High Scores 时发生在 ListView 中单击

编辑:这是我到目前为止所拥有的

    listview.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

@Override
String myString = (String) parent.getAdapter().getItem(position);
if(myString.equals("Clear High Scores")) {

//Stuff

}

}

});

最佳答案

ListViewButton 一样,都有设置点击监听器的能力,但是对于 ListView 来说,方法的名称是 setOnItemClickListener()。不过,它没有使用 OnClickListener,而是使用名为 OnItemClickListener 的类,该类对于与 ListView 一起使用更有利。该方法如下所示:

yourListView.setOnItemClickListener(new OnItemClickListener() {  

@Override
public void onItemClick(AdapterView<?> parent,
View view, int position, long id)
{
// some stuff
}
}
)

现在这样做的好处是,您可以检查您按下的位置包含的内容,因此解决问题的方法可能如下所示:

yourListView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent,
View view, int position, long id)
{
String myString = (String) parent.getAdapter().getItem(position);

if(myString.equals("Reset High Scores"))
{
// Do what you want
}
}
});

关于java - Android:使 ListView 中的单个项目可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187852/

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