Android:Long单击GridView不起作用

时间:2012-03-19 01:31:39

标签: android kindle

我在网格视图上有一个longClick方法,它不适用于底层ArrayList的0索引位置。但是,如果我只添加一个'SentenceButton',我可以将其删除,但如果我添加了许多'SentenceButton'则不能删除它。

SentenceButton类中的主要代码如下:

    public boolean onLongClick(View view) {
    boolean result = false;
    SentenceButton btnSentence = (SentenceButton)view;
    ArrayList<SentenceButton> temp = Utility.getSentenceArray();
    if(temp.contains((SentenceButton)view));
             result = Utility.getSentenceArray().remove(btnSentence);
    Utility.getSentenceArray().trimToSize();
    SBActivity.getmSentenceAdapter().notifyDataSetChanged();        
    return result;

}

这部分代码只是为了删除一个错误的条目。

这似乎不起作用,即。 remove,Utility.getSentenceArray的第一个元素,只能在另一个'SentenceButtons'上间歇工作。

奇怪的是,播放声音和从我用作内容视图的片段添加到Sentence视图似乎只连续工作两次然后似乎挂起,直到我旋转设备。 SoundButton类中包含相关代码:

    public void onClick(View view) {
    // To Do: add to current sentence
    SoundThread sndThread = new SoundThread();
    sndThread.start();
    Utility.getSentenceArray().add(new SentenceButton(mContext, (SoundButton)view));
    SBActivity.getmSentenceAdapter().notifyDataSetChanged();
}

这会将内容视图'SoundButton'添加为SentenceButton数组中的'SentenceButton'。更奇怪的是,如果我旋转设备足够多,它似乎将'SoundButton'添加为'SentenceButton'。它甚至在旋转发生时播放'SoundButton'但不是之前。就像SoundButton的onClick在某个地方排队一样。

轮换代码如下:

@Override
public void onConfigurationChanged(Configuration newConfig)
{
                if (getResources().getConfiguration().orientation ==
Configuration.ORIENTATION_LANDSCAPE)
        {
                    setFragment(getmFrag());

                    mSentenceGridView.invalidate();



        }
        else if (getResources().getConfiguration().orientation ==
Configuration.ORIENTATION_PORTRAIT)
        {
            setFragment(getmFrag());
            mSentenceGridView.invalidate();
        }
        super.onConfigurationChanged(newConfig);

} 

有人可以帮我解决这个问题。绝对是一个菜鸟,当然会添加任何相关的信息。

我正在尝试写一个音板来帮助我朋友的亲戚更好地沟通。

非常感谢,尤其是关于工作音板的教程。

  • 我用Kindle Fire作为我的测试设备写这篇文章。

我发现部分问题是没有正确创建按钮的ID

0 个答案:

没有答案