私は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
をbuttonとして使用して、エリアの一部が押された場合にclick eventに反応するにはどうすればよいですか?
OnClickListener をRelativeLayoutに追加するだけです
「RelativeMain1」というRelativeLayoutがあります。これは私がそれを開始させる方法です
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に追加することを忘れないでください。
shift_parent_name
のように、RelativeLayout
にIDを付けます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">
次に、コードをonCreateメソッドに追加します。
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
と呼ばれ、2番目はAbout.Java
です。
RelativeLayout rl=(RelativeLayout)findViewById(R.id.RelativeMain1);
relativeclic1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
}
});
これを追加するだけでAndroid:onClick="onClick"