我正在开发一个执行 shell 命令并显示输出的小应用程序,例如 ping 命令。该应用程序有一个 edittext,它将主机名或 IP 作为用户输入,并有一个按钮来执行命令。目前我使用了一个 ArrayList 来存储命令执行后生成的输出。但这不是显示输出的正确方法,我宁愿像独立命令行显示一样动态显示输出,它在运行时逐行显示输出。有没有什么特定的方法可以在运行时显示输出。
下面是代码
protected void executePingCommand() {
List<String> output=new ArrayList<String>();
output.clear();
try
{
Process pr=Runtime.getRuntime().exec(new String[]{"su","-c","ping -c 5 "+ipadd});
BufferedReader br=new BufferedReader(new InputStreamReader(pr.getInputStream()));
String var=null;
String temp=br.readLine();
while((var=br.readLine())!=null)
{
output.add(var);
display(output);
}
}
catch(Exception e)
{
}
}
protected void display(List<String> output2) {
// TODO Auto-generated method stub
pingOutput.setAdapter(new ArrayAdapter<String>(this, R.layout.custom_list_view, output2 ));
return;
}
最佳答案
听起来您需要设置一个可以使用 onclicklistener 执行的可运行对象。 IE 用户键入 IP 地址,单击按钮。然后它会刷新您的 View 以显示新项目。
关于android - 如何在android中动态显示输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541839/