在我的项目中,我有一个位图填充整个屏幕.在这个位图上,我绘制了一个路径
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) 来自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++领域的新手,所以...抱歉新问题
我有一个对象,我试图放入一个数组列表:
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
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对象.但无论我尝试什么,我总是得到一个 …
我想首先检查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上声明了它
我想知道字段abc前缀是什么意思R.dimen.
https://developer.android.com/reference/android/support/v7/appcompat/R.dimen.html
我可以在我layout.xml或某处使用这些值吗?
我有一个方法可以在其中调用void函数,当我使用时doNothing(),它会说void方法是不允许的.我怎么能doNothing()在那条特定的路线上?
我正在使用这条线,
when(spyColorSelector.initializeColors(view, "red")).then(doNothing());
Run Code Online (Sandbox Code Playgroud) 我想创建一个方形单选按钮,按钮内有文本。那可能吗?我认为可以通过 css 更改按钮形状,但是文本呢?
任何提示?
出于某种原因,每次尝试启动我的应用程序时,我都会出现以下错误:
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) 我试过以下代码,
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) android ×8
arrays ×1
c++ ×1
drawing ×1
java ×1
mockito ×1
porter-duff ×1
qt ×1
radio-button ×1
spinner ×1
testing ×1
unit-testing ×1