gpt4 book ai didi

java - 我的 Android 应用程序意外关闭。 Eclipse 说无法连接到本地主机

转载 作者:太空宇宙 更新时间:2023-11-04 04:29:14 25 4
gpt4 key购买 nike

我正在创建一个 Android 应用程序。它编译得很好,并且 eclipse 没有发现任何错误。但是,当我运行它时,我在堆栈跟踪中得到了这个。

<disconnected>DalvikVM[localhost:8639]  

这是我的代码:

package com.warhammerdicerrolleralpha;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class myMain extends Activity
{

EditText enternumberofdice;

TextView textGenerateNumber;

int number1;

int number2;

ImageView i;

private EditText text, text2, text3;

private Button btutorial1;

private int myFaceValue;

int myNum;

/**
* Called when the activity is first created.
*
* @return
*/
@Override

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

setContentView(R.layout.main);

textGenerateNumber = (TextView) findViewById(R.id.text4);

number1 = Integer.parseInt(text.getText().toString());

number2 = Integer.parseInt(text2.getText().toString());

ImageView i = new ImageView(this);

i.setAdjustViewBounds(true);

}

public void go()
{
while (myNum > 0)
{

textGenerateNumber.setText(String.valueOf(enternumberofdice));

--myNum;

return;
}
}

public int roll()
{
int val = (int) (6 * Math.random() + 1); // Range 1-6
setValue(val);
return val;
}

{
try
{
myNum = Integer.parseInt(enternumberofdice.getText().toString());
}
catch (NumberFormatException nfe)
{
enternumberofdice.setText("Does not work");
}
}

public int getValue()
{
return myFaceValue;
}

public void setValue(int myFaceValue)
{
this.myFaceValue = myFaceValue;

}

{
switch (myFaceValue)
{
case 5:
i.setImageResource(R.drawable.dicefive);
break;
case 1:
i.setImageResource(R.drawable.diceone);
break;
case 3:
i.setImageResource(R.drawable.dicethree);
break;
case 2:
i.setImageResource(R.drawable.dicetwo);
break;
case 4:
i.setImageResource(R.drawable.dicefour);
break;
case 6:
i.setImageResource(R.drawable.dicesix);
break;
default:
i.setImageResource(R.drawable.error);
break;
}

text = (EditText) findViewById(R.id.editText1);

text2 =(EditText) findViewById(R.id.editText2);

text3 = (EditText) findViewById(R.id.editText3);

btutorial1 = (Button) findViewById(R.id.button1);

btutorial1.setOnClickListener((OnClickListener) this);

Button buttonGenerate = (Button) findViewById(R.id.button1);

enternumberofdice = (EditText) findViewById(R.id.enternumberofdice);

Button buttonGenerate2 = (Button) findViewById(R.id.battlecalculate);

buttonGenerate2.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View v)
{
setContentView(R.layout.main2);
}

});

buttonGenerate.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
go();

roll();
}

});
}

public void onClick(View view)
{
switch (view.getId())
{
case R.id.button1:

if (number1 > number2)
{
text3.setText("Three and above");
return;
}

else if (number1 < number2)
{
text3.setText("Five and above");
return;
}

else if (number1 == number2)
{
text3.setText("Four and above");
return;
}

else
{
text3.setText("Not Working");
return;
}

}
}
}

附注如何将 xml 代码添加到您的帖子中。当我向帖子中添加 xml 代码时,它不会出现在预览页面中。

这是我的堆栈跟踪。

DalvikVM[本地主机:8695]
线程 [<1> main](已挂起(异常 RuntimeException))
ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) 行:2585
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) 行:2679
ActivityThread.access$2300(ActivityThread, ActivityThread$ActivityRecord, Intent) 行:125 ActivityThread$H.handleMessage(Message)行:2033
ActivityThread$H(Handler).dispatchMessage(Message) 行:99 Looper.loop()行:123 ActivityThread.main(String[]) 行:4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) 行:不可用 [ native 方法]
Method.invoke(Object, Object...) 行:521
ZygoteInit$MethodAndArgsCaller.run()行:868
ZygoteInit.main(String[]) 行:626 NativeStart.main(String[]) 行:不可用[ native 方法]
线程 [<6> Binder 线程 #2](正在运行) 线程 [<5> Binder 线程 #1](正在运行)

最佳答案

您所做的类级变量初始化,例如textGenerateNumber,必须在 onCreate 方法中调用 setContentView 之后完成。

更新:重构代码,你应该有这样的东西。不过,number1number2 赋值没有意义,因为您尚未初始化 texttext2 变量。

....

EditText enternumberofdice;
TextView textGenerateNumber;
private EditText text, text2, text3;
private Button btutorial1;
int number1;
int number2;
ImageView i;
private int myFaceValue;
int myNum;


@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

textGenerateNumber = (TextView) findViewById(R.id.text4);

//BUG: will fail since text/text2 isn't initialized
//number1 = Integer.parseInt(text.getText().toString());
//number2 = Integer.parseInt(text2.getText().toString());

i = new ImageView(this);
i.setAdjustViewBounds(true);
}

关于java - 我的 Android 应用程序意外关闭。 Eclipse 说无法连接到本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5305290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com