Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java editfield下方的贴纸隐藏/显示blackberry_Java_Blackberry_Editfield - Fatal编程技术网

Java editfield下方的贴纸隐藏/显示blackberry

Java editfield下方的贴纸隐藏/显示blackberry,java,blackberry,editfield,Java,Blackberry,Editfield,我是新黑莓7开发。 我正在做一个聊天应用程序,它将有标签,我在res文件夹中有标签,现在我想用隐藏/显示选项将它们添加到editfield下面的聊天屏幕,但我不知道怎么做。请帮助我。我搜索了很多,但没有得到答案 你可以看到旁边有editfield的图片,我想有隐藏/显示按钮,在editfield下面我有显示标签列表。 请帮帮我。过了这么多天,我现在正在查看聊天界面。我得到它,因为我做了隐藏和显示的贴纸使用经理 代码如下: VerticalFieldManager emojiiVerticalSc

我是新黑莓7开发。 我正在做一个聊天应用程序,它将有标签,我在res文件夹中有标签,现在我想用隐藏/显示选项将它们添加到editfield下面的聊天屏幕,但我不知道怎么做。请帮助我。我搜索了很多,但没有得到答案

你可以看到旁边有editfield的图片,我想有隐藏/显示按钮,在editfield下面我有显示标签列表。
请帮帮我。

过了这么多天,我现在正在查看聊天界面。我得到它,因为我做了隐藏和显示的贴纸使用经理

代码如下:

VerticalFieldManager emojiiVerticalScroll = new VerticalFieldManager(USE_ALL_WIDTH);
VerticalFieldManager stickerhorizontalScroll = new VerticalFieldManager(USE_ALL_WIDTH | VERTICAL_SCROLL | VERTICAL_SCROLLBAR) {

    protected void sublayout(int maxWidth, int maxHeight) {
        setExtent(maxWidth, 250);
        super.sublayout(maxWidth, 250);
    }
};

emojiiBitmapField2 = new BitmapField(emojii1, Field.FIELD_HCENTER | Field.FOCUSABLE) {

    protected void drawFocus(Graphics graphics, boolean on) {
        graphics.setBackgroundColor(0xc4c4c4);
        super.drawFocus(graphics, on);
    };

    protected boolean navigationClick(int status, int time) {
        fieldChangeNotify(1);
        return true;
    };
}; 

Bitmap stickers = Bitmap.getBitmapResource("img/s0010.png");
stickers = bestFit(stickers, Display.getWidth() / 3 - 60, Display.getHeight() / 3, 0);
stikersField = new BitmapField(stickers, Field.FOCUSABLE | DrawStyle.RIGHT) {

    protected void layout(int width, int height) {
        setExtent(60, 60);
        super.layout(60, 60);
    }

    protected void drawFocus(Graphics graphics, boolean on) {
        graphics.setBackgroundColor(0xc4c4c4);
        super.drawFocus(graphics, on);
    }

    protected boolean navigationClick(int status, int time) {
        fieldChangeNotify(1);
        return true;
    }
};
从当地商店获得所有贴纸并添加到经理

stickerhorizontalScroll.add(emojiiBitmapField2);
    emojiiBitmapField2.setChangeListener(new FieldChangeListener() {

        Row r;

        public void fieldChanged(Field field, int context) {
            openDatabse();
            int i = field.getIndex() + 1;
            try {
                // 1. create a SQLite DB
                // 3 insert a record
                // 4 query the record
                Statement st3 = db.createStatement("SELECT Name,ImageName FROM Smilies where id=" + i);
                try {
                    st3.prepare();
                } catch (Exception e) {
                    Dialog.alert("Exception" + e.getMessage());
                }
                Cursor c = st3.getCursor();
                while (c.next()) {
                    r = c.getRow();
                    stickerImageName = r.getString(1);
                }
                st3.close();
                closeDatabase();
            } catch (Exception e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
    });
}
使用布尔变量显示和隐藏底部管理器

stikersField.setChangeListener(new FieldChangeListener() {

    public void fieldChanged(Field field, int context) {
        if (!option_sticker) {
            try {
                scrollToBottom();
                ef.setFocus();
                emojiiVerticalScroll.add(stickerhorizontalScroll);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
            option_sticker = true;
            setStatus(emojiiVerticalScroll);
        } else {
            option_sticker = false;
            emojiiVerticalScroll.delete(stickerhorizontalScroll);
            // setStatus(stickerVerticalScroll);
            setStatus(emojiiVerticalScroll);
        }
    }
});

我建议您尝试自己实现一些这类功能,然后返回一个精确的编码问题。通过将内容删除并添加到屏幕或添加到屏幕的管理器,可以隐藏和显示内容。因此,在这个屏幕上添加一个ButtonField,并让ButtonFieldChangeListener添加额外的字段。