LOGCATMein Programm stürzt ab, wenn auf die Schaltfläche geklickt wird. Warum?
04-03 20:59:46.189: E/AndroidRuntime(362): android.content.res.Resources$NotFoundException: String resource ID #0x0
04-03 20:59:46.189: E/AndroidRuntime(362): at android.content.res.Resources.getText(Resources.java:201)
04-03 20:59:46.189: E/AndroidRuntime(362): at android.widget.TextView.setText(TextView.java:2857)
04-03 20:59:46.189: E/AndroidRuntime(362): at coin.calc.wilson.CoinCalculatorActivity$1.onClick(CoinCalculatorActivity.java:65)
04-03 20:59:46.189: E/AndroidRuntime(362): at android.view.View.performClick(View.java:2485)
04-03 20:59:46.189: E/AndroidRuntime(362): at android.view.View$PerformClick.run(View.java:9080)
04-03 20:59:46.189: E/AndroidRuntime(362): at android.os.Handler.handleCallback(Handler.java:587)
04-03 20:59:46.189: E/AndroidRuntime(362): at android.os.Handler.dispatchMessage(Handler.java:92)
04-03 20:59:46.189: E/AndroidRuntime(362): at android.os.Looper.loop(Looper.java:123)
04-03 20:59:46.189: E/AndroidRuntime(362): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-03 20:59:46.189: E/AndroidRuntime(362): at java.lang.reflect.Method.invokeNative(Native Method)
04-03 20:59:46.189: E/AndroidRuntime(362): at java.lang.reflect.Method.invoke(Method.java:507)
04-03 20:59:46.189: E/AndroidRuntime(362): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-03 20:59:46.189: E/AndroidRuntime(362): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-03 20:59:46.189: E/AndroidRuntime(362): at dalvik.system.NativeStart.main(Native Method)
04-03 20:59:49.720: I/Process(362): Sending signal. PID: 362 SIG: 9
Hier ist mein Java-Code:
package coin.calc.wilson;
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.TextView;
public class CoinCalculatorActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button solve = (Button)findViewById(R.id.bsolve);
solve.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int td, tc, twenty, ten, five, one, quarter, dime, nickel, penny;
EditText tdet = (EditText)findViewById(R.id.etdollars);
EditText tcet = (EditText)findViewById(R.id.etcents);
try{
td = Integer.parseInt(tdet.getText().toString());
tc = Integer.parseInt(tdet.getText().toString());
}
catch (NumberFormatException e) {
td = tc = 0;
}
if (td < 0 || tc < 0){
/* ERROR */
}
else{
if(td == 0){
twenty = ten = five = one = 0;
}
else{
one = td%5;
if(td >= 20){
twenty = (td/20)-((td%20)/20);
}
else{
twenty = 0;
}
int tda20 = td-(20*twenty);
if (tda20 >= 10){
ten = (tda20/10)-((tda20%10)/10);
}
else{
ten = 0;
}
int tda10 = tda20-(10*ten);
if(tda10>=5){
five = (tda10/5)-((tda10%5)/5);
}
else{
five = 0;
}
TextView tv20 = (TextView)findViewById(R.id.tvtwenty);
tv20.setText(twenty);
TextView tv10 = (TextView)findViewById(R.id.tvten);
tv10.setText(ten);
TextView tv5 = (TextView)findViewById(R.id.tvfive);
tv5.setText(five);
TextView tv1 = (TextView)findViewById(R.id.tvone);
tv1.setText(one);
}
if(tc == 0){
quarter = dime = nickel = penny = 0;
}
else{
penny = tc%5;
if(tc >= 25){
quarter = (tc/25)-((td%25)/25);
}
else{
quarter = 0;
}
int tcaq = tc-(25*quarter);
if (tcaq >= 10){
dime = (tcaq/10)-((tcaq%10)/10);
}
else{
dime = 0;
}
int tcad = tcaq-(10*ten);
if(tcad>=5){
nickel = (tcad/5)-((tcad%5)/5);
}
else{
nickel = 0;
}
TextView tvq = (TextView)findViewById(R.id.tvquarter);
tvq.setText(quarter);
TextView tvd = (TextView)findViewById(R.id.tvdime);
tvd.setText(dime);
TextView tvn = (TextView)findViewById(R.id.tvnickel);
tvn.setText(nickel);
TextView tvp = (TextView)findViewById(R.id.tvpenny);
tvp.setText(penny);
}
}
}});}
}
und hier ist das xml:
<TableRow
android:id="@+id/tableRow1"
android:layout_height="wrap_content"
android:gravity="center" >
<EditText
android:id="@+id/etdollars"
android:layout_width="156dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="dollars"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center" >
<EditText
android:id="@+id/etcents"
android:layout_width="156dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="cents"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="60dp"
android:gravity="center" >
<Button
android:id="@+id/bsolve"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Solve!" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="80dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_weight="0.00"
android:layout_marginLeft="8.75dp"
android:layout_marginRight="8.75dp"
android:src="@drawable/twenty" />
<TextView
android:id="@+id/tvtwenty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="61dp"
android:layout_height="80dp"
android:layout_marginLeft="43dp"
android:layout_marginRight="13.5dp"
android:src="@drawable/cquarter" />
<TextView
android:id="@+id/tvquarter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="80dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_weight="0.00"
android:layout_marginLeft="8.75dp"
android:layout_marginRight="8.75dp"
android:src="@drawable/ten" />
<TextView
android:id="@+id/tvten"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="61dp"
android:layout_height="80dp"
android:layout_marginLeft="43dp"
android:layout_marginRight="13.5dp"
android:src="@drawable/cdime" />
<TextView
android:id="@+id/tvdime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="80dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_weight="0.00"
android:layout_marginLeft="8.75dp"
android:layout_marginRight="8.75dp"
android:src="@drawable/five" />
<TextView
android:id="@+id/tvfive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="61dp"
android:layout_height="80dp"
android:layout_marginLeft="43dp"
android:layout_marginRight="13.5dp"
android:src="@drawable/cnickel" />
<TextView
android:id="@+id/tvnickel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="80dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_weight="0.00"
android:layout_marginLeft="8.75dp"
android:layout_marginRight="8.75dp"
android:src="@drawable/one" />
<TextView
android:id="@+id/tvone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="61dp"
android:layout_height="80dp"
android:layout_marginLeft="43dp"
android:layout_marginRight="13.5dp"
android:src="@drawable/cpenny" />
<TextView
android:id="@+id/tvpenny"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.00"
android:layout_gravity="center_vertical"
android:text="0"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</TableLayout>
Wenn es hilft, ich glaube, der Fehler kann etwas zu mache ich mit Ressourcen, die ich benutze (acht JPG), aber ich bin mir nicht sicher. Das Programm wird sauber ausgeführt, bis der OnClickListener aktiviert ist. Danke für jede Hilfe!
Entschuldigung, den ganzen Code hier, logcat woanders, nur um Sie auf die Linie 65 zu zeigen ist eine Verschwendung unserer Zeit! Bitte reduziere den Code, lies den Stacktrace und versuche ihn zu lösen, bevor du alles hier posten kannst ... zumindest beim nächsten Mal ... – WarrenFaith
Der Debugger ist dein Freund. Verwenden Sie es, um Ihren Code * zu debuggen. –
@WarrenFaith Ich werde, sorry dafür. – Wilson