【问题标题】:How do you attach a TableLayout to a button when working with Android?使用 Android 时如何将 TableLayout 附加到按钮?
【发布时间】:2011-11-30 13:13:03
【问题描述】:

我只是想知道如何调用/附加/发送带有文本的表格到按钮。我可以让 ListView 正常工作,但我不知道 TableLayout 背后的“想法”。我想做的就是:按下按钮时,它应该转到表格并显示文本。我不是在寻找任何花哨的东西,只是在按下按钮时在表格中显示文本。我在这样的菜单上设置了一个按钮(名为 buttonInfo.java):

Button btnInfo = (Button) findViewById(R.id.buttonInfo);
    btnInfo.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(new Intent("com.crazyj.peopleinfo.BUTTONINFO"));
        }
    });

这是带有文本的表格(名为 infotable.xml):

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow>
<TextView android:text="Name"
android:padding="3dip" />
<TextView android:text="John"
android:gravity="right"
android:padding="3dip" />   
</TableRow>
<TableRow>
<TextView android:text="Number"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView android:text="Age"
android:padding="3dip" />
<TextView android:text="32"
android:gravity="right"
android:padding="3dip" />
</TableRow>
</TableLayout>

buttonInfo 类:

package com.crazyj.peopleinfo;

import android.content.Context;
import android.widget.TableLayout;

public class buttonInfo extends TableLayout{

public buttonInfo(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}



}

如果有人可以回答这个问题,请解释它的含义!我是来学习的,而不仅仅是得到答案。谢谢!

【问题讨论】:

  • 你能发布你的 buttonInfo.java 类吗
  • 这就是我需要帮助的地方。你如何设置类来调用表?我可以发布我拥有的东西,但它非常丑陋!

标签: java android button tablelayout


【解决方案1】:

本教程部分更好地说明了您要实现的目标。将选项卡视为按钮只是为了了解概念。它将向您展示如何创建活动类并使用 onClick 调用它们

(环顾第 6 步) http://developer.android.com/resources/tutorials/views/hello-tabwidget.html

因此,当您调用活动 BUTTONINFO 时,您必须记住 BUTTONINFO 并不完全包含 TableLayout。所以 BUTTONINFO 将扩展活动,因为它实现了一个活动。

在您需要的 BUTTONINFO 公开课中

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.infotable);
    }

this 告诉 Activity 需要将其设置为视图。 “R.layout.infotable”就是它所在的位置。 (当您制作 xml 文件时,有一个 android 文件 r 会自行更新以包含 xml 文件。因此 infotable.xml 被称为视图。

【讨论】:

  • 谢谢。我通读了它并向 buttonInfo 类添加了一些内容。但我还是被困住了。我将新代码放在上面的问题中。我不能只是“告诉”按钮“转到”infoTable.xml 吗?
  • 我已经更新了我的答案以更好地解决这个问题。当我提到“r”时,我指的是 R.java
  • 好的,有道理,谢谢。但是我收到一个错误:方法 onCreate(Bundle) 未定义 TableLayout 类型
  • 你有没有把 public class buttonInfo extends TableLayout 改成 public class buttonInfo extends Activity
  • 您,先生,应得 +5000 声望分数。这就是我所需要的。一字解决问题!并感谢您的实际帮助。如果人们总是不自觉地把教程扔到他们脸上,却从不真正尝试回答问题,那么任何 n00bs 怎么能学习???再次感谢!
【解决方案2】:

【讨论】:

  • 我已经读过它相信我......但它并没有帮助。我还查找了大量示例,但没有一个显示如何执行我的要求。
  • 这不是论坛。这是质量检查网站。阅读常见问题解答stackoverflow.com/faq。如果真的想得到意思可以加入聊天。 Android 有一个空间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-30
  • 2020-07-17
  • 1970-01-01
相关资源
最近更新 更多