在Relativelayout中接受点击事件
-
05-10-2019 - |
题
我有一个 RelativeLayout
有几个 TextView
小时候
<RelativeLayout
android:id="@+id/shift_parent_name"
android:layout_width="fill_parent"
android:layout_weight="0.25"
>
<TextView
android:id="@+id/shift_parent_nametitle"
android:text="@string/shift_parent_nametitle"
style="@style/header_text"
/>
<TextView
android:id="@+id/shift_parent_namefield"
android:layout_alignParentRight="true"
android:layout_below="@id/shift_parent_nametitle"
style="@style/wrap"
/>
我如何使用 RelativeLayout
作为一个 按钮 对一个反应 点击事件 如果该区域的任何部分被按下?
解决方案
只需添加一个 on ClickListener 与您的Relativelayout
其他提示
我有一个Relativelayout,称为“ RelativeMain1”。这就是我开始活动的方式
RelativeLayout relativeclic1 =(RelativeLayout)findViewById(R.id.RelativeMain1);
relativeclic1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
startActivityForResult(new Intent(A_My_Galaxy.this,C_Student_Book_Planet.class), 0);
}
});
将OnClickListener添加到布局后,它应该可以工作。
将“ onclicklistener”添加到您的Relativelayout中。
笔记: 不要忘记添加 android:clickable="true"
与您的Relativelayout。
- 给你
RelativeLayout
ID,就像您打字一样shift_parent_name
设置你的
RelativeLayout
xml至android:clickable="true"
您的最终XML看起来像这样:
<RelativeLayout android:id="@+id/shift_parent_name" android:layout_width="fill_parent" android:layout_weight="0.25" android:clickable="true">
然后将代码添加在您的ongreate方法中:
RelativeLayout relative1 = (RelativeLayout) findViewById(R.id.shift_parent_name); relative1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ startActivity(new Intent(Main.this, About.class) ); } });
确保更改您的活动名称, Main.this
和 About.class
.
主要活动称为 Main.java
第二个是 About.java
RelativeLayout rl=(RelativeLayout)findViewById(R.id.RelativeMain1);
relativeclic1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
}
});
您只需添加这个 android:onClick="onClick"
不隶属于 StackOverflow