如何在android中动态显示输出?

时间:2011-09-24 20:51:00

标签: android listview

我正在开发一个执行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;
}

1 个答案:

答案 0 :(得分:0)

听起来你需要设置一个可以用onclicklistener执行的runnable。 IE用户在IP地址中键入,单击按钮。然后它会刷新您的视图以显示新项目。