如何在Android中创建动态创建的视图时添加事件处理程序?

时间:2017-07-02 18:28:17

标签: java android vb.net event-handling

我在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)中这样做,有可能吗?

2 个答案:

答案 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开发的基础知识。