我有一个带有两个布局的Activity,都在R.layout.main中实现。第一个是带有html" target="_blank">应用程序主屏幕的相对布局,另一个是具有一种首选项屏幕的表布局。通常,第一个设置为可见,第二个设置为消失。通过单击一个按钮,我使相对布局消失了,并且表格布局可见。这开始了我的问题,我想为该表布局(实际上是一个按钮数组)设置一个OnClickListener。我尝试了类似的东西:
final TableLayout table = (TableLayout)findViewById(R.id.tab);
table.setOnClickListener(new OnClickListener(){
public void onClick(View arg){
Button clickedButton = (Button)arg;
String t = (String) clickedButton.getTag();
Toast toast = Toast.makeText(getApplicationContext(),t,Toast.LENGTH_SHORT);
toast.show();
}
});
显然,它不起作用。我是Android编程的新手,我一直在寻找一整天没有任何结果的合适解决方案。
它无法正常工作,因为您首先尝试将TableLayout投射到按钮上…如果TableLayout仅包含按钮,则可以执行以下操作:
TableLayout yourRootLayout = findView....
int count = yourRootLayout.getChildCount();
for(int i = 0; i < count; i++){
View v = yourRootLayout.getChildAt(i);
if(v instanceof TableRow){
TableRow row = (TableRow)v;
int rowCount = row.getChildCount();
for (int r = 0; r < rowCount; r++){
View v2 = row.getChildAt(r);
if (v2 instanceof Button){
Button b = (Button)v2;
b.setOnClickListener(this);
}
}
}
}
并让您的活动实现OnClickListener。只需将您现有的onClick复制到“活动”中…
问题内容: 我试图通过单击方法中的按钮来打开新窗口。方法如何工作以及在其中应该如何做才能启动新方法? 问题答案: 可以使用名为Intents的android主要构建模块之一和属于Activity类的方法之一来完成此任务。 目的是要执行的操作的抽象描述。它可以与startActivity一起使用来启动一个Activity,可以将broadcastIntent发送到任何感兴趣的BroadcastRec
我有一个使用ViewPager的活动,在这个ViewPager中有一个TouchImageView(一个检测手势和相应缩放/移动的ImageView)。 现在,每当单击图像时,我想要更改UI中的一些内容,但因为TouchImageView是在PagerAdapter中声明的,所以我无法访问它,如果我要在PagerAdapter的一侧设置一些内容,我也无法访问我想要更改的UI组件(我还想在应用程序中
所以,经过5个月的Web开发,我需要重新使用android,但我发现我的一些旧代码已经不能工作了。我有一个带有数据适配器的RecyclerView,但项目的onClickListener没有任何响应。这是我的代码的样子: ProjectsActivity.java 列表显示出来,点击不起作用,甚至连到控制台的日志都没有。有人知道我做错了什么吗?我使用SDKV23作为编译SDK版本。我的SDK最低版
我在 Kotlin 中有两个布局,每个布局都有一个按钮,我只想在两者之间切换。所以我在两者中都添加了一个OnClickListener 好吧,它实际上正在工作。我可以转到第二个布局并切换回第一个布局,但我无法再次打开第二个布局! 我认为在更改回主视图后必须重新定义监听器,因此我创建了两个单独的函数来设置视图。 当我试图在Java中解决同样的问题时,这种方法是有效的,但是在Kotlin中,我仍然只能
问题内容: 在python中,如果您编写类似 如果布尔语句为true,则python似乎返回垃圾邮件,否则返回egg。有人可以解释这种行为吗?为什么表达式不像一个长布尔值那样被求值? 编辑:具体来说,我试图弄清楚为什么该表达式的结果返回“ spam”或“ eggs”的机制。 问题答案: 运算符和短路,这意味着如果仅从对第一个操作数求值就可以得出表达式的结果,则不对第二个操作数求值。例如,如果您具有
问题内容: 我正在尝试使用新的Android Studio开发和应用,但是我的OnClickListener始终收到重大错误。主要是告诉我它无法解析符号“ setOnClickListener”,也无法解析“ View v” 那是班上的代码 这些是我收到的错误,绝对没有道理。28行开始于 编辑:现在当我按下按钮时,我收到一个强制关闭 这是应该打开的类,仅有的类是唯一的变化是要打开的布局 问题答案: