如何从我运行到 ListView Android 的命令中显示数据?
Posted
技术标签:
【中文标题】如何从我运行到 ListView Android 的命令中显示数据?【英文标题】:How to display data from the command that I run to the ListView Android? 【发布时间】:2019-10-23 07:29:50 【问题描述】:我的代码有问题,我想显示我在ListView
中运行的命令的结果
这是我现在的代码
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_log, container, false);
// Untuk menjalankan API Mikrotik
ApiConnection con = MainActivity.getCon();
if (con !=null)
try
List<Map<String, String>> rs = con.execute("/log/print");
for (Map<String, String> r : rs)
ListView listView = (ListView) view.findViewById(R.id.viewLog);
ArrayAdapter<String> listViewAdapter = new ArrayAdapter<String>(
getActivity(),
android.R.layout.simple_list_item_1);
listView.setAdapter(listViewAdapter);
catch (MikrotikApiException e)
e.printStackTrace();
return view;
我已经尝试使用System.Out
并且可以显示数据
List<Map<String, String>> rs = con.execute("/log/print");
for (Map<String, String> r : rs)
System.out.println(r);
用System.Out
显示数据
06-08 02:27:32.433 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 通过 api,topics=system,info,account, time=jun/08 00:36:45, .id=*1036 06-08 02:27:32.433 11252-11252/com.tasanahetech.mikroboxv2 I/System.out:标签=4,数据=消息=40:B0:76:D5:DE:00@wlan1: disconnected, received deauth: 发送站离开 (3), 主题=无线,信息,时间=jun/08 00:50:14,.id=*1037 06-08 02:27:32.433 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=40:B0:76:D5:DE:00@wlan1: 已连接,信号 强度-51,主题=无线,信息,时间=jun/08 00:50:26,.id=*1038 06-08 02:27:32.433 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=wifi_dhcp deassigned 10.10.2.103 从 40:B0:76:D5:DE:00,主题=dhcp,信息,时间=jun/08 00:50:26, .id=*1039 06-08 02:27:32.433 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=wifi_dhcp 分配 10.10.2.103 到 40:B0:76:D5:DE:00,主题=dhcp,信息,时间=jun/08 00:50:26,.id=*103A 06-08 02:27:32.433 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:11:35,.id=*103B 06-08 02:27:32.433 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 via api,topics=system,info,account,time=jun/08 01:12:04,.id=*103C 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.100 登录 通过 api,topics=system,info,account, time=jun/08 01:13:29, .id=*103D 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:25:07,.id=*103E 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 via api,topics=system,info,account,time=jun/08 01:25:37,.id=*103F 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:26:38,.id=*1040 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 via api,topics=system,info,account,time=jun/08 01:27:33,.id=*1041 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:27:40,.id=*1042 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 通过 api,topics=system,info,account, time=jun/08 01:28:18, .id=*1043 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:29:00,.id=*1044 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 via api,topics=system,info,account,time=jun/08 01:29:15,.id=*1045 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:30:10,.id=*1046 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 via api,topics=system,info,account,time=jun/08 01:30:25,.id=*1047 06-08 02:27:32.434 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:32:21,.id=*1048 06-08 02:27:32.444 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 via api,topics=system,info,account,time=jun/08 01:32:53,.id=*1049 06-08 02:27:32.444 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:38:08,.id=*104A 06-08 02:27:32.444 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 通过 api,topics=system,info,account, time=jun/08 01:39:02, .id=*104B 06-08 02:27:32.445 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:44:38,.id=*104C 06-08 02:27:32.445 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 通过 api,topics=system,info,account, time=jun/08 01:44:53, .id=*104D 06-08 02:27:32.445 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 通过 api,主题=系统,信息,帐户,时间=jun/08 01:52:58,.id=*104E 06-08 02:27:32.445 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user kkp 从 10.10.2.107 登录 via api,topics=system,info,account,time=jun/08 01:53:13,.id=*104F 06-08 02:27:32.445 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=user yogahilmi 从登录 CC:2D:83:A4:94:B8 通过 winbox,主题=系统,信息,帐户,时间=jun/08 02:03:26,.id=*1050 06-08 02:27:32.445 11252-11252/com.tasanahetech.mikroboxv2 I/System.out:标签=4, data=message=user yogahilmi 通过 CC:2D:83:A4:94:B8 注销 winbox,主题=系统,信息,帐户,时间=jun/08 02:04:46,.id=*1051 06-08 02:27:32.445 11252-11252/com.tasanahetech.mikroboxv2 I/System.out: tag=4, data=message=wifi_dhcp deassigned 10.10.2.108 来自 CC:2D:83:82:17:57,主题=dhcp,信息,时间=jun/08 02:19:56, .id=*1052
【问题讨论】:
你可能只需要一个基本的列表视图教程 你不能在循环中创建列表视图 【参考方案1】:Map 对象 r 不能直接转换为字符串。 使用
List<Map<String, String>> rs = con.execute("/log/print");
for (Map<String, String> r : rs)
System.out.println(r.get("put the key here").toString());
或者如果您没有密钥,请执行此操作以打印所有值
List<Map<String, String>> rs = con.execute("/log/print");
for (Map<String, String> r : rs)
for(String valueStr:r.values())
System.out.println(valueStr);
更新.. 使用这个 customAdapter
public class text extends ArrayAdapter<Map<String, String>>
List<Map<String, String>> rs;
public text(@NonNull Context context, int resource, @NonNull List<Map<String, String>> objects)
super(context, resource, objects);
this.rs = objects;// assigns your map object to rs
@Override
public int getCount()
return rs.size(); //basically number of Items to be in the listview
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent)
return super.getView(position, convertView, parent); // this is where you use your data
// first inflate a custom view from xml
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView =inflater.inflate("custom view here", null); // the custom view
LinearLayout l=convertView.findViewById("some layoutid inside the custom view");
// Now below you can use your List
Map<String, String> r = rs.get(position);
for (String valueStr : r.values())
TextView t=new TextView(getContext());
t.setText(valueStr);
l.addView(t);
return convertView;
【讨论】:
您能告诉我,如何将它用于 ListView 吗? 查看可用于列表视图的示例自定义适配器。您的列表视图只需要一个适配器。您需要更多解释,然后访问此链接github.com/codepath/android_guides/wiki/…以上是关于如何从我运行到 ListView Android 的命令中显示数据?的主要内容,如果未能解决你的问题,请参考以下文章
在不同的活动中将数据从 ListView 传递到 TextView,Android
如何将数据添加到 listView 的自定义 BaseAdapter - Android
Android:如何从我的 APK 中将文件系统挂载到 RW 中? (当然是有根的)
单击 ListView 项目时如何加载 Firebase DB 值的详细活动