[英]Add String to StringArray in ListView
我发现了一些帖子,但是没有一个可以帮助我解决问题。
所以我有这段代码:
rowItems = new ArrayList<RowItem>();
location_names = new String[]{"Schule", "Büro", "Kirche", "Schule"};
location_longitude = new String[]{"12,23", "56,25", "55,14", "78,15"};
location_latitude = new String[]{"88,84", "88,79", "98,79", "64,44"};
switch_status = new String[]{"1", "0", "0", "0"};
for (int i = 0; i < location_names.length; i++){
RowItem item = new RowItem(location_names[i], locations_longitude[i], locations_latitude[i], on_off_switch_status[i]);
rowItems.add(item);
}
mylistview = (ListView) findViewById(R.id.list);
CustomAdapter adapter = new CustomAdapter(this, rowItems);
mylistview.setAdapter(adapter);
mylistview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent settings = new Intent(MainActivity.this, MapsActivity.class);
startActivity(settings);
}
});
然后,代码将显示一个ListView,其中有一个Row中每个String []中的一项。
这段代码很好用,但是我想向这些String []添加一个项目。
我希望你能帮帮我 ;)
菲尔
看这个帖子 。 您必须使用List<String>
正确解决它,或者,用旧的String [] lentgh +1创建一个新的String []并填充它(不推荐)。
您可以在我发布的链接中看到一个示例。
location_names_array = new ArrayList<>();
locations_longitude_array = new ArrayList<>();
locations_latitude_array = new ArrayList<>();
location_names_array.add("1");
locations_longitude_array.add("2");
locations_latitude_array.add("3");
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
location_names_array.add("1");
locations_longitude_array.add("2");
locations_latitude_array.add("3");
Toast.makeText(getBaseContext(), "Add" , Toast.LENGTH_SHORT ).show();
}
});
location_names = location_names_array.toArray(new String[location_names_array.size()]);
locations_longitude = locations_longitude_array.toArray(new String[locations_longitude_array.size()]);
locations_latitude = locations_latitude_array.toArray(new String[locations_latitude_array.size()]);
for (int i = 0; i < location_names.length; i++){
RowItem item = new RowItem(location_names[i], locations_longitude[i], locations_latitude[i]);
rowItems.add(item);
}
mylistview = (ListView) findViewById(R.id.list);
CustomAdapter adapter = new CustomAdapter(this, rowItems);
mylistview.setAdapter(adapter);
mylistview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent settings = new Intent(MainActivity.this, MapsActivity.class);
startActivity(settings);
}
});
在代码中将项目添加到字符串数组是可行的,但是不会在onClick方法中添加项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.