【问题标题】: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_width="match_parent"
    android:layout_height="match_parent"
    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

标签: android android-layout listview android-studio android-api-levels


【解决方案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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 2018-02-02
    相关资源
    最近更新 更多