小编Ash*_*r M的帖子

自定义UI控件指南

我想开发一个Android应用程序,但我不想使用默认控件(按钮,复选框,单选按钮等).有没有办法自定义这些控件,使其看起来更好.如果是这样,一些教程或指南将帮助我很多.谢谢....

android

6
推荐指数
1
解决办法
8427
查看次数

在列表视图中加载联系人照片

我想在ListView中显示联系人的照片.当有大量联系人时,我正面临性能问题(滚动不顺畅).我正在使用ArrayAdapter的getView方法将联系人照片分配给ImageView.当不使用图像时,滚动是平滑的.

但默认的联系人应用程序滚动非常顺利.所以我的应用程序存在性能问题.

如何提高性能?请建议.

private class MyArrayListAdapter extends ArrayAdapter<ContactsBook> implements OnItemClickListener{
    private ArrayList<ContactsBook> mContacts;
    private Context mContext;


    public MyArrayListAdapter(Context context, int textViewResourceId, ArrayList<ContactsBook> contacts) {
        super(context, textViewResourceId, contacts);
        mContacts= contacts;
        mContext=context;
    }
    @Override
    public View getView(int position, View converview, ViewGroup parent){
        View view=converview;
        ViewHolder viewHolder=new ViewHolder();
        if(view==null){
            LayoutInflater inflater=(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view=inflater.inflate(R.layout.phone_row, null);
            viewHolder.tvName=(TextView)view.findViewById(R.id.tvContact);
            viewHolder.tvPhoneNo=(TextView)view.findViewById(R.id.tvPhoneNo);
            viewHolder.qcBadge=(QuickContactBadge)view.findViewById(R.id.qContact);
            view.setTag(viewHolder);
        }
        else
            viewHolder=(ViewHolder) view.getTag();
        ContactsBook cb=mContacts.get(position);
        if(cb!=null){
            Uri contactPhotoUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,cb.getContactIndex());
            BitmapDownloaderTask bdTask=new BitmapDownloaderTask(viewHolder.qcBadge);
            bdTask.execute(contactPhotoUri.toString());
            viewHolder.qcBadge.assignContactUri(contactPhotoUri);
            viewHolder.qcBadge.setImageBitmap(framePhoto(BitmapFactory.decodeResource(getResources(), R.drawable.ic_contact_list_picture)));
            viewHolder.tvName.setText(getContactDisplayName(cb.getContactIndex()));
            viewHolder.tvPhoneNo.setText(getContactPhoneNo(cb.getContactIndex()));
        }
        return view;

    }
    class BitmapDownloaderTask …
Run Code Online (Sandbox Code Playgroud)

android photo contacts

6
推荐指数
1
解决办法
4670
查看次数

Flux架构循环依赖

我已经开始学习Facebook的Flux架构了.我正在尝试制作一个简单的登录屏幕.我已经关注了flux-chat示例应用程序来创建屏幕.我有一个ServerActionCreator和WebAPIUtils之间的循环依赖问题.请参阅下面的代码.

ServerActionCreator.js

var AppDispatcher = require('../dispatcher/AppDispatcher');
var Constants = require('../constants/Constants');
var WebAPIUtils = require('../utils/WebAPIUtils');

var ActionTypes = Constants.ActionTypes;

module.exports = {
    receiveLoginStatus: function(status){
        AppDispatcher.handleServerAction({
            type: ActionTypes.RECEIVE_LOGIN_STATUS,
            status: status
        });
    },

    loginSubmit: function(data){
        WebAPIUtils.login(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

WebAPIUtils.js

var ServerActionCreator = require('../actions/ServerActionCreator');

module.exports = {
    login: function (data) {
        //Mock server API call
        var status = JSON.parse('{"status":"success"}');
        ServerActionCreator.receiveLoginStatus(status);
    }
};
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,ServerActionCreator依赖于WebAPIUtils,而WebAPIUtils依赖于ServerActionCreator.

我认为,由于循环依赖,WebAPIUtils变成一个空对象,并且当调用ServerActionCreator中的loginSubmit函数时,我得到"未定义不是函数"错误.截图如下.

在此输入图像描述

如何处理这种情况?还是有其他办法吗?任何帮助深表感谢.

browserify reactjs-flux

6
推荐指数
1
解决办法
1170
查看次数

用MongoDB播放2个Ebean

当我尝试在我的play框架应用程序的application.conf中使用MongoDB驱动程序时

db.default.driver=com.mongodb
Run Code Online (Sandbox Code Playgroud)

我收到了Driver not found错误.我在Build.scala中为MongoDB驱动程序配置了依赖项.

我正在使用MongoDB mongo-java-driverv 2.11.1的官方Java驱动程序.我希望这个驱动程序与Ebean一起使用.

要使其db.default.driver正常工作,正确的类名是什么?

mongodb playframework ebean

3
推荐指数
1
解决办法
3032
查看次数