我已经开始研发应用了.我昨天建立了菜单但是onClick方法不起作用!我创建了一个扩展View并调用她的MainMenuObject的类 - 该类用于主菜单中的任何对象(按钮,徽标等).我为他们创建了一个特殊的类,因为我在菜单启动时正在做动画.在我构建了MainMenuObject类后,我构建了另一个扩展View的类(OpeningTimesView),它将包含主菜单的所有按钮,并将作为主要活动的布局.
一切都很好,动画非常好,我想把听众放在我的按钮上,所以我在onClickListener上添加了一个实现onClickListener,并覆盖了onClick方法.然后我用setOnClickListener(this)和setClickable(true)将监听器添加到按钮,但它不起作用!我已经尝试了一切!请帮我弄清楚我做错了什么.我已经为onClick方法添加了一个toast,它不依赖于任何"if",但它不会显示.
(BTW有没有办法将屏幕宽度和高度定义为所有类都可以访问的变量?它不能是静态的,因为你从显示对象获得高度和宽度但必须有另一种方式)
这是代码:
public class OpeningTimesView extends View implements OnClickListener{
private MainMenuObjectView searchButton;
private MainMenuObjectView supportButton;
private MainMenuObjectView aboutButton;
private int screenWidth;
private int screenHeight;
public OpeningTimesView(Context context, Display dis) {
super(context);
this.screenWidth = dis.getWidth();
this.screenHeight = dis.getHeight();
searchButton = new MainMenuObjectView(context, 200, MovingMode.RIGHT, R.drawable.search, dis);
supportButton = new MainMenuObjectView(context, 400, MovingMode.LEFT, R.drawable.support, dis);
aboutButton = new MainMenuObjectView(context, 600, MovingMode.RIGHT, R.drawable.about, dis);
searchButton.setClickable(true);
supportButton.setClickable(true);
aboutButton.setClickable(true);
searchButton.setOnClickListener(this);
supportButton.setOnClickListener(this);
aboutButton.setOnClickListener(this);
}
@Override
public void onClick(View view){
Toast.makeText(getContext(), "Search button …Run Code Online (Sandbox Code Playgroud) 我试图了解Android如何处理触摸事件并且有点困惑.根据我的理解,触摸事件被发送到根视图并传递给孩子们.我有一个FrameLayout容器Fragment.第一个片段视图是a ScrollView,第二个是某种Gallery(HorizontalListView),最后一个也是FrameLayout.每次布局中只有一个片段.我想要做的是识别屏幕上的用户滑动,以供应用程序使用.我想计算滑动并在经过一些滑动后做一些事情.
我试图把一个OnTouchListener放在顶部FrameLayout,但当孩子是ScrollView或那个时它不会被调用Gallery.我试图返回false,也在true最后onTouch,但我得到相同的结果 - 它永远不会被调用.
我该怎么做?我只是想"透明地"处理触摸事件并传递它们,就像我甚至没有触摸它们一样.
我在很多地方看到将SharedPreferences文件复制到SD卡是一个问题,因为每个制造商都将它放在其他地方.
无论文件位于何处,我都想在SD卡上备份.有没有办法做到这一点?
我正在创建一个新的应用程序,我想使用这样的库:https: //github.com/JakeWharton/Android-ViewPagerIndicator
我已经下载了这个库,使用New Android Project将其添加到我的工作区 - >从existig源创建.去了属性> android,并检查Is Library.然后我在我的应用程序项目中转到属性> android,然后单击添加到库部分,并选择了库,它向我显示了附近有绿色V的库.我点击了确定,但是无法使用该库,所以我再次打开属性> android,并且库附近有一个红叉,'?' 在"项目"栏下.
我不明白为什么会这样!当我尝试将facebook API添加到我的应用程序时,发生在我身上,这真的很烦人,我只是放弃并将源代码复制到我的项目中.
谢谢,很高兴!