gpt4 book ai didi

java - ArrayList排序不影响ArrayList

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

我试图根据 StringArrayList 进行排序,实际上我在 "" 中有数字,如下所示:"4000"

我已经编写了根据价格对 arraylist 进行排序的代码,但是每当我点击按钮时,它都不会影响我的 ListView...为什么?

我正在关注this教程....

这就是我的 JSON 的样子:

{
"locations": [
{
"name": "Office",
"price": "4,00,000"
},
{
"name": "Work",
"price": "1,20,000"
}
]
}

模型类:

public class Locations {

private String name;
private String price;

public Locations() {
// TODO Auto-generated constructor stub
}

public Locations(String name, String price) {
super();
this.name = name;
this.price = price;
}


public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPrice() {
return price;
}

public void setPrice(String price) {
this.price = price;
}

}

LocationsActivity.java:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_locations);
actorsList = new ArrayList<Locations>();
new JSONAsyncTask().execute(" ");

listview = (ListView) findViewById(R.id.list);
adapter = new LocationsAdapter(getApplicationContext(), R.layout.adapter_locations, actorsList);

btnHTL = (Button) findViewById(R.id.btnHTL);
btnHTL.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Collections.sort(actorsList, new Comparator<Locations>(){
public int compare(Locations obj1, Locations obj2)
{
// ascending
return (Integer)(arg1.price).compareTo(arg2.price);
}
});
}
});

btnLTH = (Button) findViewById(R.id.btnLTH);
btnLTH.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Collections.sort(actorsList, new Comparator<Locations>(){
public int compare(Locations obj1, Locations obj2)
{
// descending
return (Integer)(arg2.price).compareTo(arg1.price);
}
});
}
});
}

最佳答案

public class MainActivity extends Activity {

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

Button asc = (Button) findViewById(R.id.asc);
Button desc = (Button) findViewById(R.id.desc);
final ArrayList<Location> actorsList = new ArrayList<Location>();

Location loc = new Location();
loc.setName("1");
loc.setPrice("4000");
actorsList.add(loc);

loc = new Location();
loc.setName("2");
loc.setPrice("8000");
actorsList.add(loc);

loc = new Location();
loc.setName("3");
loc.setPrice("1000");
actorsList.add(loc);

loc = new Location();
loc.setName("4");
loc.setPrice("16000");
actorsList.add(loc);

asc.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Collections.sort(actorsList, new Comparator<Location>() {
@Override
public int compare(Location arg1, Location arg2) {
Integer obj1 = new Integer(arg1.getPrice().replace(",",""));
Integer obj2 = new Integer(arg2.getPrice().replace(",",""));
return (Integer) (obj1).compareTo(obj2);
}
});

for (int i = 0; i < actorsList.size(); i++) {
System.out.println("monika 1233"
+ actorsList.get(i).getPrice());
}
}
});

}

}

关于java - ArrayList排序不影响ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25239720/

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