我有了在最上面一栏四个扣,我使用此布局中的所有活动,通过包括在所有活动中常见的布局由使用通用布局及其所有活动
<include ... >
但我必须在所有活动中使用4个按钮单击事件 是否有任何comman方法来创建用于所有活动的自定义活动,我已创建活动并在该活动中实现4按钮单击事件并扩展在所有活动中这种活动,但它不适合我。 请给我一些想法。 感谢
我有了在最上面一栏四个扣,我使用此布局中的所有活动,通过包括在所有活动中常见的布局由使用通用布局及其所有活动
<include ... >
但我必须在所有活动中使用4个按钮单击事件 是否有任何comman方法来创建用于所有活动的自定义活动,我已创建活动并在该活动中实现4按钮单击事件并扩展在所有活动中这种活动,但它不适合我。 请给我一些想法。 感谢
是的,你可以让一个活动说HeaderActivity
在onCreate setContentView(R.layout.header);
设置header.xml
,并在这个类一次写你的所有按钮的Click事件和
现在在其他活动中扩展HeaderActivity。 等,
public class SecondActivity extends HeaderActivity
{
}
为了显示不同的布局..
放的LinearLayout在低于按钮header.xml和在彼此活动中使用
ViewGroup vg = (ViewGroup) findViewById(R.id.lldata);
ViewGroup.inflate(getApplicationContext(), R.layout.listwitter, vg);
这里lldata是在的LinearLayout头.xml
在diff活动中显示不同的布局。
谢谢,我用我的项目类似的实现,但我有[此问题](http://stackoverflow.com/q/11522798/840669)。请回答如果你能弄清楚是什么问题。 – Rajkiran
魔兽世界。工作完美。非常感谢.. – sandeepmaaram
你应该能够像你说的那样使用基本的OOP策略。创建处理onClick事件的父级活动。那么你的所有活动都应该延伸那个父母。只要这些方法不是私人的,它们就会自动访问onClick事件。
如果您需要在每个活动中对onClicks做不同的事情,则可能值得以不同的方式处理,或者使用回调风格。基本结构的例子:
public class ParentActivity extends Activity {
public void onMyButtonClick(View v) {
// do your thing
}
}
public class ChildActivity extends ParentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// your activity
}
}
我已经做到了,但点击Parentactivity的事件不是工作ChildActivity – bindal
你好Bindalbhai ..
MainActivity myAct = (MainActivity) this.getParent();
TextView myTitleText = (TextView)myAct.findViewById(R.id.txtTitle);
这可能是帮助你。或者您可以使用ViewGroup为此。
谢谢。
创建静态对象以侦听按钮单击。基于此对象处理所有活动中的事件。
例如说常量。类:
public class Constants {
private static int buttonState1;
public static int getButtonState(){
return buttonState1;
}
public static int setButtonState(int x){
buttonState1=x;
}
}
而在你的活动:
Button bt1=(Button) findViewById(R.id.bt1);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Constants.setButtonState(1);
}
});
而在其他活动
if(Constants.getButtonState()==1)
//do something
定义页眉布局具有4个按钮和定义的android:的onClick内XML属性布局例如android:onClick="btnHomeClick"
,android:onClick="btnSearchClick"
....等。
通过扩展活动定义一个抽象类,并实现所有这些点击的方法:
public void btnHomeClick(View v) {
}
public void btnSearchClick(View v)
{
}
包括由标记,标题布局在XML布局文件。 现在在您的每个活动类中扩展上述活动类。
这样你只需要定义一个click事件一次。
非常感谢! @Paresh Mayani :) –
@VishalPatoliyaツ很高兴它帮助你! –
你好,你在你的应用程序中使用标签的活动? – anddev
是你mansi vora和我不使用选项卡Actvity – bindal
它应该工作。你可以发布你的代码 – pankajagarwal