我在android studio中动态创建了所有视图。
前:
RelativeLayout big = new RelativeLayout(this);
for(int i=0; i<50; i++)
{
RelativeLayout mini = new RelativeLayout(this);
TextView t = new TextView(this);
mini.addView(t);
big.addView(mini);
}
现在,在示例代码中,我想为所有&#39; mini 添加 onTouch , onClick 等事件&#39; RelativeLayouts将更改触摸/单击的RelativeLayout的 backgroundColor 。我能用单一功能吗?
实际上,我是开发Android应用程序的新手。我轻松处理了VB.net中的事件 (例如
AddHandler mini.Click, AddressOf Clicked
//sample example
Public Clicked(Byval sender As Object, e As EventArgs)
sender.BackColor=Color.Black
End Sub
)
我想在java(android)中这样做,有可能吗?
答案 0 :(得分:1)
对于每件商品,您都可以使用setOnClickListener()
和setOnTouchListener()
:
mini.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// your action
}
});
mini.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
// your action
return true;
}
});
答案 1 :(得分:0)
首先,您要重新创建RelativeLayout
对象迷你,因此总是只有一个对象。而且,您需要使用各自的id将它们与不同的RelativeLayout视图元素绑定。
然后,您可以继续创建和附加事件侦听器和处理程序。代码是非常基本的,因为你甚至不知道这样做,我建议你先学习Android App开发的基础知识。