小编Lal*_*ani的帖子

ListView与CheckBox的奇怪行为

我在ListView上面有一个CheckBox,里面有Checkbox项目.因此,当我检查复选框时,我申请notifyDataSetChanged()检查所有检查列表中的所有项目.所以当时我得到了两次getView方法的日志,这意味着当我notifyDataSetChanged()只调用一次时,getView会被调用两次.那么,谁能告诉我为什么我要两次获取日志?为什么getView()被调用两次?

主类 -

checkAll = (CheckBox) findViewById(R.id.my_check_box);
        checkAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton checkbox, boolean arg1) {
                adapter.notifyDataSetChanged();
            }
        });
Run Code Online (Sandbox Code Playgroud)

适配器类代码 -

    public class myAdapter extends ArrayAdapter<Model> {

    private final List<Model> list;
    private final Activity context;
    private CheckBox checkAll;

    public myAdapter(Activity context, List<Model> list, CheckBox checkAll) {
        super(context, R.layout.row, list);
        this.context = context;
        this.list = list;
        this.checkAll = checkAll;

    }

    static class ViewHolder {
        protected TextView text;
        protected CheckBox checkbox;
    }

    @Override
    public View getView(final …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-manifest android-emulator android-layout

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

如何从drawable文件夹中获取资源 - AndEngine

我正在开发游戏,我想设置游戏的布局,使其适用于多个设备屏幕.因此,我没有从中获取图像,而是asset's folder寻找某种方法从中获取图像drawable folder.所以,稍后我可以根据设备的屏幕获取图像.

更新:

我试过用它

mFaceTextureRegionLifeLine = (TiledTextureRegion) TextureRegionFactory.createFromResource(mTextureLifeLine, this, R.drawable.icon, 100, 100);
Run Code Online (Sandbox Code Playgroud)

而且,它解雇了我并且错误如下 -

09-05 19:02:38.923: ERROR/AndroidRuntime(4161): FATAL EXCEPTION: main
09-05 19:02:38.923: ERROR/AndroidRuntime(4161): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.engine/com.engine.BallDemo}: java.lang.ClassCastException: org.anddev.andengine.opengl.texture.region.TextureRegion
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at android.os.Looper.loop(Looper.java:123)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161):     at java.lang.reflect.Method.invokeNative(Native Method)
09-05 19:02:38.923: ERROR/AndroidRuntime(4161): …
Run Code Online (Sandbox Code Playgroud)

android andengine

5
推荐指数
1
解决办法
3045
查看次数

如何使用AndEngine在Fling/Swipe方向(对角线)上移动Sprite

我正在开发一款游戏AndEngine.在那里我能够移动一个对象Right to Left,Top to Bottom反之亦然.但是,我的问题是如何在中移动Sprite对象Direction of Fling?这意味着如果用户在任何方向上甩掉Sprite对象应该在fling的坐标上移动并且应该继续前进.

如果有人可以提出建议,如何得到确切的X and Y co-ordinates也会这样做,我可以设法自己在坐标上移动Sprite对象.

您还可以看到VIDEO - Pirates Subs

在视频中,来自任何方向LauncherFLING是我正在寻找的东西.

提前致谢.苏瑞萨哈尼.

android andengine

5
推荐指数
1
解决办法
4031
查看次数

在弹出窗口中显示progressBar

我有一个弹出对话框,我在其中加载webview.我想在webview加载到弹出窗口的顶部时显示progressBar.我已经找到了一种在网页加载时显示加载进度条的方法,但如果在弹出的对话框中加载了这个webview,则不会在其上显示progressBar.有人可以解释为什么会发生这种情况.

这是代码

[码]

 @SuppressWarnings("static-access")
    public void showPopUp(String url){
            try{

                Dialog dialog = new Dialog(Links.this);
                LayoutInflater inflater = (LayoutInflater)getSystemService(Links.this.LAYOUT_INFLATER_SERVICE);
                View vi = inflater.inflate(R.layout.link_popup, null);
                dialog.setContentView(vi);
                dialog.setTitle("Title here");
                dialog.setCancelable(true);
                WebView wb = (WebView) vi.findViewById(R.id.WebView01);

                wb.setWebViewClient(new MyWebViewClient());
                wb.getSettings().setJavaScriptEnabled(true);   
                wb.getSettings().setSupportZoom(true);      
                wb.loadUrl(url);
//              final Activity MyActivity = this;  
//              
//              progressDialog = ProgressDialog.show(dialog.getOwnerActivity(), "", "Loading....", true);
//              
//              wb.setWebChromeClient(new WebChromeClient() {
//               public void onProgressChanged(WebView view, int progress)   
//               {
//                   MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded
//                   if(progress == …
Run Code Online (Sandbox Code Playgroud)

android

5
推荐指数
1
解决办法
4500
查看次数

在日期和时间更改时重置/取消警报时AlarmManager错误

我想以某种regular间隔向服务器发送数据.所以,我也在使用AlarmManager它.它工作正常,但问题是,当我改变cancel报警Date/Time.在得到再次取消之前那段时间的火警,这样就使得我的应用程序变得更坏,在extra数据发送到serverirregular间隔.

这是我的BroadCastReceiver班级AlarmManager.

 public class MyReceiver extends BroadcastReceiver{

    AlarmManager mgr;
    PendingIntent pi;
    Intent intent;
    public static boolean flag = false;

    @Override
    public void onReceive(final Context arg0, Intent arg1) {

        if(arg1.getAction().equals("android.intent.action.TIME_SET")){
            Log.d("MyReceiver", "Time set");

            mgr = (AlarmManager) arg0.getSystemService(Context.ALARM_SERVICE);
            intent = new Intent(arg0, TestService.class);
            intent.putExtra("test", "testvalue");
            pi = PendingIntent.getService(arg0, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

            if(!flag){
                mgr.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 10000, 5000, pi);
                flag = true;
            }
            else{
                mgr.cancel(pi); …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-intent

5
推荐指数
1
解决办法
1864
查看次数

从sqlite中的树结构中的数据库中获取数据

在我的应用程序中,我有一个树形结构表,我想知道如果我可以通过简单地应用单个查询从sqlite数据库中获取树结构数据.目前我正在使用for循环手动删除它并且能够满足我的要求但是我不满意这种方法,因为它更复杂,可能是耗时的等等.

我的表格结构如下,

parent_id |  cat_id

  null    |   1
   1      |   2
   1      |   3
   1      |   4
   4      |   5
   4      |   6
Run Code Online (Sandbox Code Playgroud)

所以,现在以上就是我的表结构,我想取树状结构,如果我通过PARENT_ID为1我的查询中,那么它应该返回2,3,4,5,61是父母1, 2, 3, 44为父母5,6,也4为儿童1

所以,我想要的输入和输出,

input    output

  1     2,3,4,5,6
  4     5, 6
Run Code Online (Sandbox Code Playgroud)

那么,有一个简单的方法来通过使用sqlite查询来实现上面的树结构?

要么

没有办法使用sqlite查询来实现这一点,我需要通过手动循环所有类别ID来遵循当前使用它的方法或方法.

mysql sql database sqlite android

5
推荐指数
1
解决办法
1817
查看次数

自定义ArrayAdapter过滤器没有结果

我在AutoCompleteTextView上使用ArrayAdapter.results.values具有预期值但我在UI上没有列表.

public class CustomArrayAdapter extends ArrayAdapter<String> implements Filterable {
    private final Object mLock = new Object();
    private CustomFilter mFilter;
    public ArrayList<String> mItems;
    public ArrayList<String> mFiltered;

    public CustomArrayAdapter(Context context, int textViewResourceId) {
        super(context, textViewResourceId);
        mItems = new ArrayList<String>();
        mFiltered = new ArrayList<String>();
    }

    public Filter getFilter() {
        if (mFilter == null) {
            mFilter = new CustomFilter();
        }
        return mFilter;
    }

    @Override
    public void add(String s) { 
        mItems.add(s);
    }

    private class CustomFilter extends Filter {

        @Override
        protected FilterResults performFiltering(CharSequence constraint) {
            FilterResults …
Run Code Online (Sandbox Code Playgroud)

android filter android-arrayadapter

4
推荐指数
1
解决办法
8953
查看次数

如何使用OnTouch()检查图像是否被触摸

我试图在Touch of Image上获得x,y坐标,并且我想要执行一些操作.所以,任何人都可以告诉我如何触摸图像的x,y坐标.提前致谢.

我的代码 -

public class MovableObject extends ImageView implements OnTouchListener{

    Bitmap myBmp;
    Paint myPaint = new Paint();
    int MoveX = 0;

    public MovableObject(Context context,int moveObject,Bitmap myBmp) {
        super(context);
        super.setClickable(true);
        this.myBmp = myBmp;
        myPaint.setColor(Color.WHITE);
        this.MoveX = moveObject;
        setOnTouchListener(this);
    }
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawBitmap(myBmp, MoveX, 100, myPaint);
    }
    @Override
    public boolean onTouch(View v, MotionEvent event) {

        switch (event.getAction() & MotionEvent.ACTION_MASK) {

            case MotionEvent.ACTION_DOWN:
                System.out.println("down...."+event.getX()+" "+event.getY());
            case MotionEvent.ACTION_MOVE:
        }
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

通过这个我得到x,y坐标,我点击,但我想得到x,y当我点击我的图像.

android

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

实现包含List的Parcelable接口的对象会抛出NullPointerException

我正在尝试List使用该Parcelable接口创建一个包含对象的对象.我无法读Parcel回来的对象.

谁能指出我正确的方向?我在这里错过了什么?

MyParcelable 宾语:

public class MyParcelable implements Parcelable {

    private int myInt = 0;
    private List<MyListClass> arrList;

    public List<MyListClass> getArrList() {
        return arrList;
    }

    public void setArrList(List<MyListClass> arrList) {
        this.arrList = arrList;
    }

    public int getMyInt() {
        return myInt;
    }

    public void setMyInt(int myInt) {
        this.myInt = myInt;
    }

    MyParcelable() {
        // initialization
        arrList = new ArrayList<MyListClass>();
    }

    public MyParcelable(Parcel in) {
        myInt = in.readInt();
        in.readTypedList(arrList, MyListClass.CREATOR);
    }

    @Override
    public int describeContents() { …
Run Code Online (Sandbox Code Playgroud)

android parcelable

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

Android onTouch Listener事件

我正在使用ontouch事件,但我遇到的问题是它调用down事件但它是nt调用move事件或UP事件检查以下代码

public class DragNewActivity extends Activity implements OnTouchListener  {

    private float X;
    private float Y;
    private int width;
    private int height;
    private CharSequence s;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.d("D","D");

        TextView tv1 = (TextView)findViewById(R.id.tv1);
        TextView tv2 = (TextView)findViewById(R.id.tv2);
        tv1.setOnTouchListener(this);
        //tv2.setOnTouchListener(this);
        }

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        //int action = event.getAction();
        switch (event.getAction()){
        case MotionEvent.ACTION_DOWN:
            Log.d("DOWN","DOWN");
        break;

        case MotionEvent.ACTION_MOVE:
            Log.d("MOVE","MOVE");
        break;

        case MotionEvent.ACTION_UP:
            Log.d("UP","UP");
            X = …
Run Code Online (Sandbox Code Playgroud)

android

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