java - 在 Android 开发表中显示数据?

标签 java android datatable

正在开发我的第一个 android 应用程序并希望在表格(或类似的东西)中显示一些数据。环顾四周后,我猜 android 不支持 JTable 之类的东西;有人说你必须创建一个自定义表?以 CSV 格式显示字符串数据的最佳方式是什么?在我创建的 Java 应用程序中,我有一个函数可以从字符串中创建一个二维数组并将其放入 JTable。

字符串中的数据格式:

Sun 02-16-14 09:45 PM,1,REAL TIRED,JUST WACK AT IT,2 - 4,
Sun 02-23-14 08:10 PM,1,BALLERS,REAL TIRED,4 - 11,
Sun 03-02-14 09:00 PM,1,REAL TIRED,EL TRI,1 - 7,
Sun 03-09-14 05:50 PM,1,GO GO POWER RANGERS,REAL TIRED,4 - 9,
Sun 03-16-14 06:40 PM,1,REAL TIRED,GAME OF GROANS,16 - 0,
Sun 03-23-14 09:00 PM,1,HUNGOVER HAT TRICKS,REAL TIRED,
Sun 03-30-14 07:25 PM,1,REAL TIRED,PRESTIGE WORLD WIDE,
Sun 04-06-14 04:20 PM,1,REAL TIRED,BALLERS,

由于移动设备的空间有限,不确定是否有任何好的选择。也许一次只显示一行并能够点击它们?

最佳答案

你可以试试这个例子,你会很熟悉这段代码。即使您想要从服务器或 API 调用动态地在 TableView 中添加行,也只需创建一个 for 循环并根据此示例添加它。

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // setContentView(R.layout.activity_main);

    String[] presidents = { "Dwight D. Eisenhower", "John F. Kennedy",
            "Lyndon B. Johnson", "Richard Nixon", "Gerald Ford",
            "Jimmy Carter", "Ronald Reagan", "George H. W. Bush",
            "Bill Clinton", "George W. Bush", "Barack Obama",
            "Dwight D. Eisenhower", "John F. Kennedy", "Lyndon B. Johnson",
            "Richard Nixon", "Gerald Ford", "Jimmy Carter",
            "Ronald Reagan", "George H. W. Bush", "Bill Clinton",
            "George W. Bush", "Barack Obama", "Dwight D. Eisenhower",
            "John F. Kennedy", "Lyndon B. Johnson", "Richard Nixon",
            "Gerald Ford", "Jimmy Carter", "Ronald Reagan",
            "George H. W. Bush", "Bill Clinton", "George W. Bush",
            "Barack Obama" };

    ScrollView scrollView = new ScrollView(this);

    TableLayout tableLayout = new TableLayout(this);

    for (int i = 0; i < presidents.length; i++) {

        TableRow tableRow = new TableRow(this);

        TextView tv = new TextView(this);

        tv.setPadding(10, 10, 10, 10);

        tv.setGravity(Gravity.CENTER);
        tv.setText(presidents[i]);

        tableRow.addView(tv);

        tableLayout.addView(tableRow);
        View v = new View(this);
        v.setLayoutParams(new TableRow.LayoutParams(
                TableRow.LayoutParams.MATCH_PARENT, 1));
        v.setBackgroundColor(Color.rgb(51, 51, 51));
        tableLayout.addView(v);
    }

    scrollView.addView(tableLayout);

        setContentView(scrollView);

    }
}

希望你会喜欢这个。如果这适合您,请标记为已接受的答案,以便对其他人有所帮助。

关于java - 在 Android 开发表中显示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22584200/

相关文章:

android - 只更新一个 AppWidget 实例

jquery - 数据表中的下拉列表

java - 如何在 Android 中使用类似标签的编辑文本

java - 黑莓:FileSystemJournalListener 未返回新捕获的图像路径

android - 如何将 ISO4217 货币代码提供给 NumberFormat?

android - Unresolved reference 改造2

c# - MVVM 将 DataGrid 绑定(bind)到 DataTable 显示错误的列名

javascript - 创建、读取、更新、删除、搜索 - 数据表

java - 摆脱 JMenu 中浪费/未使用的空间

java - 未报告 IOException 错误,但有 "throws Exception"并且 Try 和 Catch 位于方法内