我正在创建一个页面,允许用户从计划中选择一个时间段.我更喜欢使用某种表布局(与使用下拉/组合框相比).但我无法弄清楚要走哪条路,因为时间安排是这样的.

所以M,W,F是相同的,T,TR是相同的布局.我希望用某种表而不是纯图形来做这件事,因为我希望能够更新单元格中显示的信息.是否有一种方法,除了做rowpans以获得像图片一样的不均匀布局.或者我应该采取完全不同的方法.我的所有javascript需要知道的是单元格中显示的信息(文本)以及单击的信息.
我写过这样的东西......
TableRow tr1;
TableRow tr2;
TextView txt9;
...
TableLayout tl = (TableLayout)findViewById(R.id.myTableLayout);
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width, LayoutParams.FILL_PARENT);
for (int i = 0; i < strarr.length-1; i++)
{
strinarr = fun1.split(strarr[i].trim(),"^");
tr1 = (TableRow) new TableRow(this);
txt1=new TextView(this);
txt9.setText(strinarr[0]);
txt9.setBackgroundColor(intblue);
txt9.setTextColor(intwhite);
txt9.setClickable(true);
txt9.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Log.i("pagename",strpagename);
String currenttext = txt9.getText().toString());
}
}
});
tr1.addView(txt9);
tl.addView(tr1,new TableLayout.LayoutParams(layoutParams));
}
Run Code Online (Sandbox Code Playgroud)
我能够获得点击文本,但愚蠢的是我在所有textview点击事件的表格中获取最后textview的文本...如果有人可以告诉我如何捕捉textview的文本焦点或触摸它将是真的很有帮助......
我想在表格布局中显示数据.数据的数量是动态的,因此我需要在表中实现动态行.为此,我想在一行中显示4个TextView.
问题
目前,我能够在表格和四个TextView中显示数据,但我想在所有四个EditText之间有一些空格,但无法做到.
这是我的代码
for(ItemRow row : this.getRows()) {
if(row != null) {
// delcare a new row
newRow = new TableRow(this);
newRow.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
newRow.setPadding(0, 2, 0, 2);
column1 = new TextView(this);
column2 = new TextView(this);
column3 = new TextView(this);
column4 = new TextView(this);
column1.setTextColor(Color.BLACK);
column2.setTextColor(Color.BLACK);
column3.setTextColor(Color.BLACK);
column4.setTextColor(Color.BLACK);
column1.setSingleLine(false);
column2.setSingleLine(false);
column3.setSingleLine(false);
column4.setSingleLine(false);
if(row.getColumnOne() != null){
column1.setText(row.getColumnOne());
}
if(row.getColumnTwo() != null) {
column2.setText(row.getColumnTwo());
}
if(row.getColumnThree() != null) {
column3.setText(row.getColumnThree());
}
if(row.getColumnFour() != null) {
column4.setText(row.getColumnFour());
}
//Now add a …Run Code Online (Sandbox Code Playgroud) 我如何使用tablelayout创建以下布局?列跨越很简单,但我没有找到任何关于行跨越的明确指导.

我选择使用TableLayout来绘制产品类别.
数据被动态获取和呈现.我正在将TableRow和ImageView添加到其中.
onClickListener当每个TableRow有3个项目时,我该如何处理?
我无法改变使用的布局,所以我正在寻找当前情况下的解决方案
当我尝试在xml中创建一个android表格布局时,在eclipse中出现警告,此警告来自布局部分的表格行:
这个TableRow视图没用(没有孩子,没有背景,没有id)
<TableRow android:layout_width="fill_parent" android:layout_height="wrap_content">
</TableRow>
Run Code Online (Sandbox Code Playgroud)
请告诉我如何克服这个警告.谢谢你.
我正在使用GWT 2.4和MVP模式,所以我有Presenters和Views(没有UIBinder).我有其中一个问题.我有一个带有TabLayoutPanel的视图,里面有更多的小部件.如果我使用LayoutPanel一切正常,但如果我使用RootLayoutPanel我有错误.
public class JaviView extends Composite implements FacturasPresenter.Display {
private RootLayoutPanel rootLayoutPanel = RootLayoutPanel.get();
private TabLayoutPanel tabPanel;
//...more declarations
}
public JaviView(){
initWidget(rootLayoutPanel);
rootLayoutPanel.setSize("100%", "100%");
//...
tabPanel = new TabLayoutPanel(1.7, Unit.EM);
//add widgets to tabPanel
tabPanel.setWidth("100%");
rootLayoutPanel.add(tabPanel);
}
Run Code Online (Sandbox Code Playgroud)
我得到:这个小部件的父级没有实现HasWidgets.
Caused by: java.lang.IllegalStateException: This widget's parent does not implement HasWidgets
at com.google.gwt.user.client.ui.Widget.removeFromParent(Widget.java:204)
at com.google.gwt.user.client.ui.Composite.initWidget(Composite.java:145)
at contabilidad.presentation.client.view.facturas.JaviView.<init>(JaviView.java:318)
Run Code Online (Sandbox Code Playgroud)
第318行是:initWidget(rootLayoutPanel).如果我使用LayoutPanel我没有那个错误,但我需要使用RootLayoutPanel.
我已经复制了代码并粘贴到另一个View中,使用RootLayoutPanel并且工作正常,所以我不知道问题出在哪里.我一直在寻找解决方案几个小时.提前致谢.
全部跟踪:
10:16:49.595 [ERROR] [contabilidadweb] Uncaught exception escaped
com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:129)
at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:129) …Run Code Online (Sandbox Code Playgroud) 我无法将TableLayout中的行放在屏幕中央.我正在尝试创建一个4x4的可点击图像表,并希望它们在屏幕上居中.最后绘制它们左对齐,我希望它们以两侧的空间为中心.这是我的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp">
<TableRow android:layout_gravity="center_horizontal">
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp"
android:layout_gravity="center" />
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp"
android:layout_gravity="center" />
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp"
android:layout_gravity="center" />
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp"
android:layout_gravity="center" />
</TableRow>
<TableRow android:layout_gravity="center_horizontal">
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp" />
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp" />
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp" />
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp" />
</TableRow>
<TableRow android:layout_gravity="center_horizontal">
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="3dp" />
<ImageView android:src="@drawable/rocket"
android:layout_width="60dp" …Run Code Online (Sandbox Code Playgroud) 我创建了自己的复合控件,使用TableLayout显示一个数据网格,并在循环中添加Tablerows,取决于我绑定到它的Object数组,现在我想选择一个特定的行及其特定的数据,以便由一个方法.那么如何选择检索其数据的特定行来委托方法呢?
我是java和android编程的新手.我想通过代码添加行(包括一些文本框)到表格布局并删除其中一些.最后得到他们的文本框valus.how我能做到吗?