중복 사용되는 UI를 커스텀 뷰로 만들어서
XML 안에
<commFile.opMenuView
android:id="@+id/topSportsMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center|bottom">
</commFile.TopMenuView>
적용을 했습니다.
커스텀 뷰 소스를 올립니다.
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import eclatnt.spotv.sports.NewsMain;
import eclatnt.spotv.sports.R;
public class TopMenuView extends LinearLayout {
Context mContext;
ApplicationInfo activity;
//LayoutInflater inflater;
String _mEvent="";
public TopMenuView(Context context) {
// TODO Auto-generated constructor stub
super(context);
init();
}
public TopMenuView(Context context, AttributeSet attrs) {
super(context,attrs);
init();
mContext=context;
}
public TopMenuView(Context context, String event) {
super(context,attrs);
_mEvent=event;
init();
mContext=context;
}
private void init() {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.news_top_sports_menu, this, true);
BottomMenuDisplay();
}
public void BottomMenuDisplay(){
Button topBasket=(Button)findViewById(R.id.topBasket);
Button topSoccer=(Button)findViewById(R.id.topSoccer);
Button topGolf=(Button)findViewById(R.id.topGolf);
Button topBaseBall=(Button)findViewById(R.id.topBaseBall);
if (_mEvent.equalsIgnoreCase("BB"){
topBasket.setSelected(true);
topBasket.setClickable(false);
}else if (_mEvent.equalsIgnoreCase("SS"){
topSoccer.setSelected(true);
topSoccer.setClickable(false);
}
topBasket.setOnClickListener(bottomOnClickListener);
topSoccer.setOnClickListener(bottomOnClickListener);
topGolf.setOnClickListener(bottomOnClickListener);
topBaseBall.setOnClickListener(bottomOnClickListener);
}
public OnClickListener bottomOnClickListener = new OnClickListener(){
public void onClick(View v){
if (v.getId()==R.id.topBasket){
((Activity)mContext).finish();
Intent i = new Intent(mContext, NewsMain.class);
i.putExtra("sort1", "BV");
mContext.startActivity(i);
}else if (v.getId()==R.id.topSoccer){
((Activity)mContext).finish();
Intent i = new Intent(mContext, NewsMain.class);
i.putExtra("sort1", "SS");
mContext.startActivity(i);
}else if (v.getId()==R.id.topGolf){
((Activity)mContext).finish();
Intent i = new Intent(mContext, NewsMain.class);
i.putExtra("sort1", "GG");
mContext.startActivity(i);
}else if (v.getId()==R.id.topBaseBall){
((Activity)mContext).finish();
Intent i = new Intent(mContext, NewsMain.class);
i.putExtra("sort1", "BB");
mContext.startActivity(i);
}
}
};
}
_mEvent값에 따라 버튼 상태를 변경하고 싶은데요
_mEvent 값을 전달 받을 수 있는 방법이 없을까요?