在android中隐藏和显示表格
我已经创建了两个表,一个在左侧,一个在屏幕中央。启动应用程序时,左侧的表格设置为可见,中间的表格设置为不可见 现在我想点击左表中的一个按钮(Buton_left),中间的整个表都将可见 到目前为止,我有这个方法,但它似乎不起作用。如有任何帮助或建议,将不胜感激。如果你需要更多的信息,请告诉我在android中隐藏和显示表格,android,button,visibility,tablelayout,onclicklistener,Android,Button,Visibility,Tablelayout,Onclicklistener,我已经创建了两个表,一个在左侧,一个在屏幕中央。启动应用程序时,左侧的表格设置为可见,中间的表格设置为不可见 现在我想点击左表中的一个按钮(Buton_left),中间的整个表都将可见 到目前为止,我有这个方法,但它似乎不起作用。如有任何帮助或建议,将不胜感激。如果你需要更多的信息,请告诉我 package com.example.musicapp; import android.os.Bundle; public class Tbl_Show_Hide extends Acti
package com.example.musicapp;
import android.os.Bundle;
public class Tbl_Show_Hide extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TableLayout table_left = (TableLayout)findViewById(R.id.table_left);
TableLayout table_center = (TableLayout)findViewById(R.id.table_center);
Button Buton_left = (Button)findViewById(R.id.Buton_left);
table_left.setOnClickListener(this);
table_center.setOnClickListener(this);
Buton_left.setOnClickListener(this);
}
@Override
public void onClick(View v) {
boolean visible = true;
int targetId = v.getId();
if(targetId == R.id.Buton_left)
{
if(visible)
{
if(table_center.getVisibility() == View.INVISIBLE)
{
table_center.setVisibility(View.VISIBLE);
}
}
}
}可以返回或中的一个。然后在onCreate方法中创建table_center,这是一个局部变量,对onClick不可见
因此,将其更改为:
public class Tbl_Show_Hide extends Activity implements OnClickListener {
final TableLayout table_left = (TableLayout)findViewById(R.id.table_left);
final TableLayout table_center = (TableLayout)findViewById(R.id.table_center);
final Button Buton_left = (Button)findViewById(R.id.Buton_left);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
table_left.setOnClickListener(this);
table_center.setOnClickListener(this);
Buton_left.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int targetId = v.getId();
if(targetId == R.id.Buton_left)
{
if(table_center.getVisibility() != View.VISIBLE)
{
table_center.setVisibility(View.VISIBLE);
}
}
}
如果问题仍然存在,请张贴您的清单 它表示未定义表格中心。当您使用table_center.setOnClickListener(this)时,是否没有定义它?更新了答案@user31610将其设置为全局变量。感谢您的帮助,我将对此进行测试。如果您将这些变量设置为final,并且globalandroid打开跟踪文件时出错,则应用程序将完全停止工作没有这样的文件或目录(2)