小编Reg*_*ais的帖子

如何以编程方式删除XML中定义的现有规则?

我有一个包含在相对布局中的线性布局.它在XML文件中设置为另一个线性布局的右侧(这很好).在某些情况下,我想在活动的onCreate期间更改布局的相对位置,因此我需要修改"右侧"参数以与另一个布局相关联.我试过这个:

    RelativeLayout.LayoutParams layoutParams;

    layoutParams = (RelativeLayout.LayoutParams) linearLayoutToMove
            .getLayoutParams();
    layoutParams.addRule(RelativeLayout.RIGHT_OF,
            R.id.new_ref_LinearLayout);
Run Code Online (Sandbox Code Playgroud)

但它不起作用:o(

有线索吗?

android android-layout layoutparams android-relativelayout

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

从doInBackground中的函数内部发布进程?

我使用AsyncTask来执行一个很长的过程.

我不想将我的长进程代码直接放在doInBackground中.相反,我的长进程代码位于另一个类中,我在doInBackground中调用.

我希望能够从longProcess函数中调用publishProgress.在C++中,我将一个sendProgress的回调指针传递给我的longProcess函数.

我如何在java中这样做?

编辑:

我的长程序代码:

public class MyLongProcessClass
    {
    public static void mylongProcess(File filetoRead)
        {
        // some code...
        // here I would like to call publishProgress
        // some code...
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的AsyncTask代码:

private class ReadFileTask extends AsyncTask<File, Void, Boolean>
    {
    ProgressDialog  taskProgress;

    @Override
    protected Boolean doInBackground(File... configFile)
        {
        MyLongProcessClass.mylongProcess(configFile[0]);
        return true;
        }
    }
Run Code Online (Sandbox Code Playgroud)

编辑#2长处理方法也可以是非静态的,并像这样调用:

MyLongProcessClass fileReader = new MyLongProcessClass();
fileReader.mylongProcess(configFile[0]);
Run Code Online (Sandbox Code Playgroud)

但这并没有改变我的问题.

android

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

死码警告?

为什么我在此函数中的i ++上收到死代码警告?

InputFilter hexInputFilter()
    {
    return new InputFilter()
        {
            @Override
            public CharSequence filter(CharSequence source, int start,
                    int end, Spanned dest, int dstart, int dend)
                {
                for (int i = start; i < end; i++)
                    {
                    if ((source.charAt(i) >= '0')
                            && (source.charAt(i) <= '9'))
                        {
                        return null;
                        }
                    if ((Character.toUpperCase(source.charAt(i)) >= 'A')
                            && (Character.toUpperCase(source.charAt(i)) <= 'F'))
                        {
                        return null;
                        }
                    return "";
                    }
                return null;
                }
        };
    }
Run Code Online (Sandbox Code Playgroud)

java eclipse android

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

按位"&"长?

我想从多个long类型中获取至少32位,因此我对位数为0xFFFFFFFF的数字执行按位操作"&",但结果不正确,它仍然包含其他位.

例如:

long a = 0x1234567890ab; 
long b = (a & 0xffffffff);
Run Code Online (Sandbox Code Playgroud)

我希望b的值为0x567890ab

但在实践中,它仍然是0x1234567890ab

java android

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

自r10以来,MediaPlayer不再在仿真器上工作了?

protected MediaPlayer _mediaPlayer;  

protected void playFromResource(int resId)     
    {     
    if (_mediaPlayer != null)         
        {         
        _mediaPlayer.stop();         
        _mediaPlayer.release();
        }     
    _mediaPlayer = MediaPlayer.create(this, resId);
    _mediaPlayer.start();
    }  
Run Code Online (Sandbox Code Playgroud)

此代码用于在模拟器和设备上正常工作.从一段时间以来(我认为自从我更新到ADT r10以来)它只适用于设备.在仿真器上不再有声音,应用程序在通过时会冻结on _mediaPlayer.release()(第二次调用该函数).我能够从通过更换崩溃保持应用程序stop(),并release()通过reset(),但它并没有解决的主要问题:有在模拟器上没有声音.

日志文件在调用之后显示了一堆这些(仅在模拟器上) start()

03-09 19:14:30.716:WARN/AudioTrack(34):obtainBuffer超时(CPU是否挂起?)0x1afb8 user = 00001e00,server = 00000600

任何线索????

android android-emulator

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

Traceview最长记录时间?

我正在使用Debug.startMethodTracing和Debug.stopMethodTracing来优化一段需要大约30秒才能执行的代码,但是当我用跟踪视图打开跟踪文件时,它只显示了大约6.5秒的跟踪数据.

有线索吗?

android

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

onItemSelectedListener仅在选择实际更改时触发?

setOnItemSelectedListener在旋转器上使用.如果我更改了选择,则会触发侦听器,但如果我选择了已选择的相同项目则不会触发.即使用户选择了已经选择的相同项目,我也需要被nofified.我一直在努力使用,setOnItemClickListener但它不受支持Spinner.

任何提示?

TIA

android spinner

9
推荐指数
1
解决办法
2500
查看次数

TextView上的onClick和onTouch?

我想在用户触摸(或点击)TextView时做一些事情,但我似乎无法使其工作.

我只是在布局中放置一个TextView,我试图设置一个onclick监听器.

        touchTV = (TextView) findViewById(R.id.touchTV);
    touchTV.setOnClickListener(new View.OnClickListener()
        {

            public void onClick(View v)
                {
                Toast.makeText(getApplicationContext(), "Text Touch",
                        Toast.LENGTH_SHORT);
                }
        });
Run Code Online (Sandbox Code Playgroud)

但是当我点击TextView时没有任何反应.

我尝试了相同的东西,但使用onTouch监听器,但我得到相同(缺乏)的结果.

android

0
推荐指数
1
解决办法
3748
查看次数

如何捕获动态创建控件的事件?

我是Delphi和Firemonkey的新手.

让我说我动态地(在运行时)在我的表单上创建一个新按钮,我想抓住它的OnCLick事件.

如何将我的控制绑定到onclick程序?

谢谢

delphi firemonkey

0
推荐指数
1
解决办法
267
查看次数