如何在按钮单击时以文本格式保存列表视图的所有数据

Posted

技术标签:

【中文标题】如何在按钮单击时以文本格式保存列表视图的所有数据【英文标题】:how to save all data of listview in text format on button click 【发布时间】:2017-08-25 06:42:30 【问题描述】:
<TextView
    android:id="@+id/tv"
    android:layout_
    android:layout_
    android:padding="20dp"
    android:textColor="#000000"
    android:textSize="20sp"/>

我是android编程新手,请大家帮帮我。如何在我们的手机点击按钮时以文本格式保存Listview的所有数据

 static String[] city = "Indore","Bhopal","Mumbai","Pune","Delhi","Kolkata",
        "Hyderabad","Banglore","Chennai","Amritsar","jhalandhar";

Button button;
ListView listView;

@Override
protected void onCreate(Bundle savedInstanceState)

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button = (Button) findViewById(R.id.button);
    listView = (ListView) findViewById(R.id.lv);

    MyAdapter myadapter = new MyAdapter(getApplicationContext(),city);
    listView.setAdapter(myadapter);

【问题讨论】:

您的列表视图看起来如何? 简单的城市名称列表@android_griezmann 我已经编辑了问题@android_griezmann 【参考方案1】:

在您的按钮点击时编写此代码

try 
        File myFile = new File("/sdcard/mysdfile.txt");
        myFile.createNewFile();
        FileOutputStream fOut = new FileOutputStream(myFile);
        OutputStreamWriter myOutWriter =
                new OutputStreamWriter(fOut);
        for (int i = 0; i < city.length; i++) 
            myOutWriter.append(city[i] +"\n");    
        

        myOutWriter.close();
        fOut.close();
        Toast.makeText(getBaseContext(),
                "Done writing SD 'mysdfile.txt'",
                Toast.LENGTH_SHORT).show();
     catch (Exception e) 
        Toast.makeText(getBaseContext(), e.getMessage(),
                Toast.LENGTH_SHORT).show();
    

注意:不要忘记在AndroidMenifest.xml中提供以下权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

【讨论】:

谢谢先生让我看看它是否有效 谢谢你,先生,它的工作非常感谢,先生,把它保存为 PDF 格式 欢迎使用this thread创建PDF,有点棘手! 我无法理解如何转换为 PDF 格式 @android_griezmann【参考方案2】:

希望这会有所帮助。

SharedPreferences.Editor edit = PreferenceManager.getDefaultSharedPreferences(this).edit();
    for (int i = 0 ; i < items.size(); i++) 
        ListViewItem item = items.get(i);
        edit.putString(Integer.toString(i), item.elementOne + "," + item.elementTwo + "," + item.elementthree);
    
    edit.commit();

【讨论】:

以上是关于如何在按钮单击时以文本格式保存列表视图的所有数据的主要内容,如果未能解决你的问题,请参考以下文章

滚动列表视图时文本视图中的数据切换

在arcgis中如何把通过属性选择的要素提取保存

将列表视图保存到 txt 文件

如何使用 jQuery 制作可编辑的列表项?

如何在android中的活动开始时禁用按钮的单击事件检查

使用按钮单击生成文本字段小部件并保存文本输入颤动