小编Bla*_*elt的帖子

PorterDuff和Path

在我的项目中,我有一个位图填充整个屏幕.在这个位图上,我绘制了一个路径

android.graphics.Canvas.drawPath(Path path, Paint paint)
Run Code Online (Sandbox Code Playgroud)

设置绘画以便描边和填充路径的内容.我将实现的是擦除与路径相交的bitamp部分.我设法使用另一个bitmmap而不是路径,并使用porter duff规则获得相同的行为.有没有机会对路径做同样的事情?

    mPaintPath.setARGB(100, 100, 100, 100);// (100, 100, 100, 100)
    mPaintPath.setStyle(Paint.Style.FILL_AND_STROKE);
    mPaintPath.setAntiAlias(true);
    mPath.moveTo(x0, y0));
    mPath.lineTo(x1, y1);
    mPath.lineTo(x2, y2);
    mPath.lineTo(x3, y3);
    mPath.lineTo(x0, y0);
    mPath.close();
    c.drawPath(mPath, mPaintPath);
Run Code Online (Sandbox Code Playgroud)

android drawing porter-duff

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

伸缩构造函数

来自Effective Java 2ed Item 2:

telescoping构造函数模式,其中您只提供一个带有必需参数的构造函数,另一个带有一个可选参数,另一个带有两个可选参数,依此类推,最后是一个带有所有可选参数的构造函数

我可以用C++做同样的事吗?我试过这样的事情:

MyClass::MyClass(QWidget *parent)
{   
    MyClass(NULL, NULL, NULL, parent);
}

MyClass::MyClass(QString title, QWidget *parent) 
{

    MyClass(title, NULL, NULL, parent);
}

MyClass::MyClass(QString title, QString rightButton, QWidget *parent)
{


    MyClass(title, NULL, rightButton, parent);
}



MyClass::MyClass(QString titleLabel, QString leftButtonLabel, QString rightButtonLabel, QWidget *parent)
: QWidget(parent)
{
      // construct the object
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.任何提示?

我是C++领域的新手,所以...抱歉新问题

c++ design-patterns

4
推荐指数
2
解决办法
1027
查看次数

试图创建一个对象数组

我有一个对象,我试图放入一个数组列表:

class PlayerScores {

String playerName;
int played=0;
int win=0;
int draw=0;
int loss=0;
int points=0;


void playerNameSet(String name){
    playerName=name;
}
void played(){
    played=played+1;
}
void win(){
    win=win+1;
    points();
}
void draw(){
    draw=draw+1;
    points();
}
void loss(){
    loss=loss+1;
}

void points(){
    points = (win*3)+draw;
}

}
Run Code Online (Sandbox Code Playgroud)

基本上,当用户选择了多少玩家时,我想初始化这些对象的数组,但是我收到了错误.这是用于初始化数组然后为玩家分配名称的代码.

数组已经在我的代码开头定义并且是公共的,所以我可以在不同的活动中使用它:"PlayerScores [] playersObjects;"

public PlayerScores[] makePlayerObjects() {
        playersObjects = new PlayerScores[players];
        for(int i = 0; i < players + 1; i++)
        {
            playersObjects[i].playerNameSet(name variable);
        }

    return playersObjects;
}
Run Code Online (Sandbox Code Playgroud)

错误似乎发生在设置名称的行上,但它与name变量无关.

任何帮助都会受到大力赞赏,谢谢,Oli

arrays android

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

Android:在开关上使用setOnCheckedChangeListener时,我得到'无法解决符号错误'

package com.example.koustav.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class MainActivity extends Activity
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    Switch swi = (Switch) findViewById(R.id.swch);
    swi.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
    {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) //Line A
        {

        }
    });

    public void onClick(View view)
    {
        boolean isOn = ((Switch) view).isChecked();

        if (isOn)
        {
            ((TextView) findViewById(R.id.largey)).setTextColor(getResources().getColor(R.color.black));
        }
        else
        {
            ((TextView) findViewById(R.id.largey)).setTextColor(getResources().getColor(R.color.white));
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

我在这个项目中使用Android Studio.我已经在互联网上搜索了一个可扩展的解决方案但找不到解决方案.

我一直试图setOnCheckedChangeListener用于一个Switch对象.但无论我尝试什么,我总是得到一个 …

android compiler-errors oncheckedchanged android-studio

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

检查是否选择了微调器并在Android中具有空值

我想首先检查spinner是否具有基于以下内容的空值:

String Name= spinnerName.getSelectedItem().toString();
if(Name != null) {     
} else { 
}
Run Code Online (Sandbox Code Playgroud)

这是一个正确的方法吗?因为我得到 FATAL EXCEPTION: main java.lang.NullPointerException

String Name= spinnerName.getSelectedItem().toString();
Run Code Online (Sandbox Code Playgroud)

我在Create上声明了它

android spinner

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

R.dimen字段的什么是`abc`前缀?

我想知道字段abc前缀是什么意思R.dimen.

https://developer.android.com/reference/android/support/v7/appcompat/R.dimen.html

我可以在我layout.xml或某处使用这些值吗?

android

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

如何在void方法上执行Nothing()?

我有一个方法可以在其中调用void函数,当我使用时doNothing(),它会说void方法是不允许的.我怎么能doNothing()在那条特定的路线上?

我正在使用这条线,

when(spyColorSelector.initializeColors(view, "red")).then(doNothing());
Run Code Online (Sandbox Code Playgroud)

testing android unit-testing mockito

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

Qt平方单选按钮

我想创建一个方形单选按钮,按钮内有文本。那可能吗?我认为可以通过 css 更改按钮形状,但是文本呢?

任何提示?

qt radio-button

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

Android java.lang.RuntimeException:无法实例化活动ComponentInfo ... java.lang.NullPointerException

出于某种原因,每次尝试启动我的应用程序时,我都会出现以下错误:

Unable to instantiate activity ComponentInfo{com.example.lifeahead/com.example.lifeahead.MainActivity}:java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

我检查了清单文件,并添加了所有活动.

我启动应用程序时使用的唯一方法是:

private void logIn(){
    Button logIn = (Button) findViewById(R.id.login);
    logIn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent loginIntent = new Intent(MainActivity.this, HomeActivity.class);
            loginIntent.putExtra("cmUN", cmUN);
            loginIntent.putExtra("cmPW", cmPW);
            startActivity(loginIntent);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

这是onCreate:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }

    logIn();
}
Run Code Online (Sandbox Code Playgroud)

完整日志:

Ë

/AndroidRuntime(1607): FATAL EXCEPTION: main
E/AndroidRuntime(1607): Process: com.example.lifeahead, PID: 1607
E/AndroidRuntime(1607): java.lang.RuntimeException: Unable to instantiate …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception

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

java.lang.IllegalStateException:已经调用了commit

我试过以下代码,

try {
    final Activity activity = ctx;
    FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
    android.app.Fragment prev = activity.getFragmentManager().findFragmentByTag("dialog");
    if (prev != null) {
        ft.remove(prev);
    }
    DialogServiceFailed newFragment = DialogServiceFailed.newInstance(pageName, onServiceFailed);
    newFragment.show(ft, "dialog");
    ft.addToBackStack(null);
    ft.commitAllowingStateLoss();
} catch (ClassCastException e) {
    Log.d("Log", "Can't get the fragment manager with this");
}
Run Code Online (Sandbox Code Playgroud)

但我收到以下异常,我的应用程序崩溃了.

java.lang.IllegalStateException: commit already called
        at android.app.BackStackRecord.commitInternal(BackStackRecord.java:582)
        at android.app.BackStackRecord.commitAllowingStateLoss(BackStackRecord.java:578)
        at com.brightspot.extrain5psim.model.APIRequestHandler.loadServiceFailedDialog(APIRequestHandler.java:99)
        at com.brightspot.extrain5psim.view.fragments.LoginFragment.setOnAsyncTaskCompleted(LoginFragment.java:201)
        at com.brightspot.extrain5psim.model.APIRequestHandler.onPostExecute(APIRequestHandler.java:80)
        at com.brightspot.extrain5psim.model.APIRequestHandler.onPostExecute(APIRequestHandler.java:17)
        at android.os.AsyncTask.finish(AsyncTask.java:631)
        at android.os.AsyncTask.access$600(AsyncTask.java:177)
        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:176)
        at android.app.ActivityThread.main(ActivityThread.java:5317)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511) …
Run Code Online (Sandbox Code Playgroud)

java android

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