小编Ela*_*d92的帖子

Android onClick方法不适用于自定义视图

我已经开始研发应用了.我昨天建立了菜单但是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 android-custom-view android-view

28
推荐指数
7
解决办法
4万
查看次数

通过父级捕获onTouch事件,处理它并传递给子级

我试图了解Android如何处理触摸事件并且有点困惑.根据我的理解,触摸事件被发送到根视图并传递给孩子们.我有一个FrameLayout容器Fragment.第一个片段视图是a ScrollView,第二个是某种Gallery(Horizo​​ntalListView),最后一个也是FrameLayout.每次布局中只有一个片段.我想要做的是识别屏幕上的用户滑动,以供应用程序使用.我想计算滑动并在经过一些滑动后做一些事情.

我试图把一个OnTouchListener放在顶部FrameLayout,但当孩子是ScrollView或那个时它不会被调用Gallery.我试图返回false,也在true最后onTouch,但我得到相同的结果 - 它永远不会被调用.

我该怎么做?我只是想"透明地"处理触摸事件并传递它们,就像我甚至没有触摸它们一样.

android click touch touch-event android-layout

20
推荐指数
1
解决办法
2万
查看次数

如何将SharedPreferences备份到SD卡?

我在很多地方看到将SharedPreferences文件复制到SD卡是一个问题,因为每个制造商都将它放在其他地方.

无论文件位于何处,我都想在SD卡上备份.有没有办法做到这一点?

android android-preferences sharedpreferences

15
推荐指数
1
解决办法
8886
查看次数

无法将库添加到我的android项目中

我正在创建一个新的应用程序,我想使用这样的库:https: //github.com/JakeWharton/Android-ViewPagerIndicator

我已经下载了这个库,使用New Android Project将其添加到我的工作区 - >从existig源创建.去了属性> android,并检查Is Library.然后我在我的应用程序项目中转到属性> android,然后单击添加到库部分,并选择了库,它向我显示了附近有绿色V的库.我点击了确定,但是无法使用该库,所以我再次打开属性> android,并且库附近有一个红叉,'?' 在"项目"栏下.

我不明白为什么会这样!当我尝试将facebook API添加到我的应用程序时,发生在我身上,这真的很烦人,我只是放弃并将源代码复制到我的项目中.

谢谢,很高兴!

eclipse android

13
推荐指数
2
解决办法
1万
查看次数