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

标签 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;
}

最佳答案

听起来您需要设置一个可以使用 onclicklistener 执行的可运行对象。 IE 用户键入 IP 地址,单击按钮。然后它会刷新您的 View 以显示新项目。

关于android - 如何在android中动态显示输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541839/

相关文章:

android - 无法使用 ssl url 访问我的服务器

java - 在 Android 中从 Parse.com 检索指针数据

android - 卷轴上的底座适配器位置

android - 适配器第一个位置 = 第 6 个位置?

android - 将 OnItemLongClick 监听器与 ListView 一起使用

android - 如何使用过多的 Completable 方法执行顺序操作

构建 NativeScript 项目时出现 java.util.zip.zipException

android - Cordova Android 构建失败 : Configuration with name 'debug' not found

android - 带类映射器 : No setter/field for "class" found on class in android

c++ - 使用 LVM_SORTITEMSEX 将所有选定项目移动到特定项目下方