除了没有在Android平台 [英] Addition isn't working in Android
问题描述
一个很奇怪的事情发生了。我有一个应用从答案计算积分。它的工作非常好,但因为我的定位(有没有影响在所有点我计数系统上),他们没有适当增加;相反,它们被添加像字符串。
2 + 4 + 5 = 245,之前是11 ...任何想法?
例如:
如果(antworten.geo == 0)
punktzahl + = 10;
否则如果(antworten.geo == 1)
punktzahl + = 8;
否则如果(antworten.geo == 2)
punktzahl + = 4;
喜欢我从微调得到的答案
公共类geo_listener实现OnItemSelectedListener {
私人布尔我= FALSE;
@覆盖
公共无效onItemSelected(适配器视图<>母公司,观景,INT POS,长ID){
如果(我== TRUE){
。antworten.geo_str = parent.getSelectedItem()的toString();
antworten.geo = parent.getSelectedItemPosition();
吐司选择= Toast.makeText(parent.getContext(),parent.getSelectedItem()的toString(),Toast.LENGTH_SHORT。);
chosen.show();}
其他{
我=真;
antworten.geo = parent.getSelectedItemPosition();
}
}
@覆盖
公共无效onNothingSelected(适配器视图<>为arg0){
// TODO自动生成方法存根 }
}
筛选我定义所有这些VAR和strngs
公共类antworten {
公共静态INT rennen = 0; // 1 - 2 Rennen - Langsam
公共静态字符串rennen_str;
公共静态INT NEXT_ITEM = 0; // 1 - 2Küchenmesser - 皮斯托尔3 - 4 STIFT - 棒球施拉格
公共静态字符串next_item_str;
公共静态INT家庭= 0; // 1 - 2 JA - Nein
公共静态字符串family_str;
公共静态INT场所= 0; // 1 - 2大街 - Zuhause 3 - 4 Arbeit - 餐厅5 - Öffentlicher广场
公共静态字符串place_str;
公共静态INT地理= 0; // 1 - 贝格2 - 米尔3 - 土地
公共静态字符串geo_str;
公共静态INT病毒= 0; // 1 - 拉夫特2 - 3 Speichel - 布卢特4 - 魏斯nicht
公共静态字符串virus_str;
公共静态INT步行= 0; // 1 - 2Küchenmesser - 皮斯托尔3 - 4 STIFT - 棒球施拉格
公共静态字符串walk_str;
公共静态INT super_m = 0; // 1 - 2 JA - Nein
公共静态字符串super_m_str;
公共静态INT APO = 0; // 1 - 2 JA - Nein
公共静态字符串apo_str;
公共静态INT死亡= 0; // 1 - 2 Kopfschuss - Abtrennen 3 - 4 Gegengift - 师范Todesarten
公共静态字符串death_str;
公共静态长punktzahl;
公共静态字符串punk_str;
}
和这样的,我数着点
包com.zombies.survive;进口android.app.Activity;
进口android.content.Context;
进口android.content.Intent;
进口android.os.Bundle;
进口android.text.method.ScrollingMovementMethod;
进口android.view.View;
进口android.widget.Button;
进口android.widget.TextView;公共类result_activity延伸活动{
静态上下文mContext;
/ **当第一次创建活动调用。 * /
@覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.result);
字符串ant_ren = getApplicationContext()的getString(R.string.ant1)。
字符串ant_itm = getApplicationContext()的getString(R.string.ant2)。
字符串ant_fam = getApplicationContext()的getString(R.string.ant3)。
字符串ant_plc = getApplicationContext()的getString(R.string.ant4)。
字符串ant_geo = getApplicationContext()的getString(R.string.ant5)。
字符串ant_vir = getApplicationContext()的getString(R.string.ant6)。
字符串ant_wlk = getApplicationContext()的getString(R.string.ant7)。
字符串ant_sup = getApplicationContext()的getString(R.string.ant8)。
字符串ant_apo = getApplicationContext()的getString(R.string.ant9)。
字符串ant_tot = getApplicationContext()的getString(R.string.ant10)。
// Rennen Frage
如果(antworten.rennen == 0)
antworten.punktzahl + = 5;
其他
antworten.punktzahl + = 10;
//项目Frage
如果(antworten.next_item == 0)
antworten.punktzahl + = 6;
否则如果(antworten.next_item == 1)
antworten.punktzahl + = 10;
否则如果(antworten.next_item == 2)
antworten.punktzahl + = 2;
否则,如果(antworten.next_item == 3)
antworten.punktzahl + = 5;
// FAMILIE Frage
如果(antworten.family == 0)
antworten.punktzahl + = 3;
其他
antworten.punktzahl + = 10;
//将Frage
如果(antworten.place == 0)
antworten.punktzahl + = 6;
否则如果(antworten.place == 1)
antworten.punktzahl + = 2;
否则如果(antworten.place == 2)
antworten.punktzahl + = 8;
否则,如果(antworten.place == 3)
antworten.punktzahl + = 10;
否则,如果(antworten.place == 4)
antworten.punktzahl + = 5;
否则,如果(antworten.place == 5)
antworten.punktzahl + = 6;
否则,如果(antworten.place == 6)
antworten.punktzahl + = 5;
//地理Frage
如果(antworten.geo == 0)
antworten.punktzahl + = 10;
否则如果(antworten.geo == 1)
antworten.punktzahl + = 8;
否则如果(antworten.geo == 2)
antworten.punktzahl + = 4;
//病毒Frage
如果(antworten.virus == 0)
antworten.punktzahl + = 2;
否则如果(antworten.virus == 1)
antworten.punktzahl + = 4;
否则如果(antworten.virus == 2)
antworten.punktzahl + = 10;
否则,如果(antworten.virus == 3)
antworten.punktzahl + = 1;
//行走Frage
如果(antworten.walk == 0)
antworten.punktzahl + = 6;
否则如果(antworten.walk == 1)
antworten.punktzahl + = 8;
否则如果(antworten.walk == 2)
antworten.punktzahl + = 10;
否则,如果(antworten.walk == 3)
antworten.punktzahl + = 3;
否则,如果(antworten.walk == 4)
antworten.punktzahl + = 1;
//超级市场Frage
如果(antworten.super_m == 0)
antworten.punktzahl + = 10;
否则如果(antworten.super_m == 1)
antworten.punktzahl + = 5;
// Apotheken Frage
如果(antworten.apo == 0)
antworten.punktzahl + = 10;
否则如果(antworten.apo == 1)
antworten.punktzahl + = 5;
// TOTEN Frage
如果(antworten.death == 0)
antworten.punktzahl + = 7;
否则如果(antworten.death == 1)
antworten.punktzahl + = 4;
否则如果(antworten.death == 2)
antworten.punktzahl + = 5;
否则,如果(antworten.death == 3)
antworten.punktzahl + = 10;
antworten.punk_str =将String.valueOf(antworten.punktzahl);
TextView的ergebniss =(的TextView)findViewById(R.id.res_txt);
ergebniss.setMovementMethod(新ScrollingMovementMethod());
ergebniss.setText(R.string.wenn_eine_zombie_apokalypse_eintreten_w_rde_steht_die_chance_f_r_dich_zu_berleben_bei_ + antworten.punk_str +%\\ n \\ n \\ n+ ant_ren + ant_itm + ant_plc + ant_fam + ant_geo + ant_vir + ant_wlk + ant_sup + ant_apo + ant_tot); 按钮back_but =(按钮)findViewById(R.id.back_but);
back_but.setOnClickListener(新View.OnClickListener(){ @覆盖
公共无效的onClick(视图v){
意图I =新意图(result_activity.this,home.class);
startActivity(ⅰ); }
});
}
}
您确定要添加在一起punktzahl变量是从类antworten的人吗?你写antworten.geo,但不antworten.punktzahl。
如果你试图查找该变量在IDE你在哪里到达?
A very strange thing happened. I had an app to calculate points from answers. It worked very well, but since my localization (which has NO impact at all on my counting system of points) they aren't added properly; instead, they are added like a string.
2+4+5 = 245, before it was 11...Any ideas?
Example:
if(antworten.geo == 0)
punktzahl += 10;
else if(antworten.geo == 1)
punktzahl += 8;
else if(antworten.geo == 2)
punktzahl += 4;
Like this I get the answer from a spinner
public class geo_listener implements OnItemSelectedListener{
private boolean i = false;
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){
if(i == true){
antworten.geo_str = parent.getSelectedItem().toString();
antworten.geo = parent.getSelectedItemPosition();
Toast chosen = Toast.makeText(parent.getContext(), parent.getSelectedItem().toString(), Toast.LENGTH_SHORT);
chosen.show();}
else{
i = true;
antworten.geo = parent.getSelectedItemPosition();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
Like this I am defining all those vars and strngs
public class antworten{
public static int rennen = 0; // 1 - Rennen 2 - Langsam
public static String rennen_str;
public static int next_item = 0; //1 - Küchenmesser 2 - Pistole 3 - Stift 4 - Baseball-Schläger
public static String next_item_str;
public static int family = 0; // 1 - Ja 2 - Nein
public static String family_str;
public static int place = 0; // 1 - Straße 2 - Zuhause 3 - Arbeit 4 - Restaurant 5 - Öffentlicher Platz
public static String place_str;
public static int geo = 0; // 1 - Berg 2 - Meer 3 - Land
public static String geo_str;
public static int virus = 0; // 1 - Luft 2 - Speichel 3 - Blut 4 - Weiß nicht
public static String virus_str;
public static int walk = 0; //1 - Küchenmesser 2 - Pistole 3 - Stift 4 - Baseball-Schläger
public static String walk_str;
public static int super_m = 0; // 1 - Ja 2 - Nein
public static String super_m_str;
public static int apo = 0; // 1 - Ja 2 - Nein
public static String apo_str;
public static int death = 0; // 1 - Kopfschuss 2 - Abtrennen 3 - Gegengift 4 - Normale Todesarten
public static String death_str;
public static long punktzahl;
public static String punk_str;
}
and like this I am counting the points
package com.zombies.survive;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class result_activity extends Activity {
static Context mContext;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
String ant_ren = getApplicationContext().getString(R.string.ant1);
String ant_itm = getApplicationContext().getString(R.string.ant2);
String ant_fam = getApplicationContext().getString(R.string.ant3);
String ant_plc = getApplicationContext().getString(R.string.ant4);
String ant_geo = getApplicationContext().getString(R.string.ant5);
String ant_vir = getApplicationContext().getString(R.string.ant6);
String ant_wlk = getApplicationContext().getString(R.string.ant7);
String ant_sup = getApplicationContext().getString(R.string.ant8);
String ant_apo = getApplicationContext().getString(R.string.ant9);
String ant_tot = getApplicationContext().getString(R.string.ant10);
//Rennen Frage
if(antworten.rennen == 0)
antworten.punktzahl += 5;
else
antworten.punktzahl += 10;
//Item Frage
if(antworten.next_item == 0)
antworten.punktzahl += 6;
else if(antworten.next_item == 1)
antworten.punktzahl += 10;
else if(antworten.next_item == 2)
antworten.punktzahl += 2;
else if(antworten.next_item == 3)
antworten.punktzahl += 5;
//Familie Frage
if(antworten.family == 0)
antworten.punktzahl += 3;
else
antworten.punktzahl += 10;
//Place Frage
if(antworten.place == 0)
antworten.punktzahl += 6;
else if(antworten.place == 1)
antworten.punktzahl += 2;
else if(antworten.place == 2)
antworten.punktzahl += 8;
else if(antworten.place == 3)
antworten.punktzahl += 10;
else if(antworten.place == 4)
antworten.punktzahl += 5;
else if(antworten.place == 5)
antworten.punktzahl += 6;
else if(antworten.place == 6)
antworten.punktzahl += 5;
//Geo Frage
if(antworten.geo == 0)
antworten.punktzahl += 10;
else if(antworten.geo == 1)
antworten.punktzahl += 8;
else if(antworten.geo == 2)
antworten.punktzahl += 4;
//Virus Frage
if(antworten.virus == 0)
antworten.punktzahl += 2;
else if(antworten.virus == 1)
antworten.punktzahl += 4;
else if(antworten.virus == 2)
antworten.punktzahl += 10;
else if(antworten.virus == 3)
antworten.punktzahl += 1;
//Walk Frage
if(antworten.walk == 0)
antworten.punktzahl += 6;
else if(antworten.walk == 1)
antworten.punktzahl += 8;
else if(antworten.walk == 2)
antworten.punktzahl += 10;
else if(antworten.walk == 3)
antworten.punktzahl += 3;
else if(antworten.walk == 4)
antworten.punktzahl += 1;
//Supermarkt Frage
if(antworten.super_m == 0)
antworten.punktzahl += 10;
else if(antworten.super_m == 1)
antworten.punktzahl += 5;
//Apotheken Frage
if(antworten.apo == 0)
antworten.punktzahl += 10;
else if(antworten.apo == 1)
antworten.punktzahl += 5;
//Töten Frage
if(antworten.death == 0)
antworten.punktzahl += 7;
else if(antworten.death == 1)
antworten.punktzahl += 4;
else if(antworten.death == 2)
antworten.punktzahl += 5;
else if(antworten.death == 3)
antworten.punktzahl += 10;
antworten.punk_str = String.valueOf(antworten.punktzahl);
TextView ergebniss = (TextView)findViewById(R.id.res_txt);
ergebniss.setMovementMethod(new ScrollingMovementMethod());
ergebniss.setText(R.string.wenn_eine_zombie_apokalypse_eintreten_w_rde_steht_die_chance_f_r_dich_zu_berleben_bei_ + antworten.punk_str + "%\n\n\n"+ant_ren+ant_itm+ant_plc+ant_fam+ant_geo+ant_vir+ant_wlk+ant_sup+ant_apo+ant_tot);
Button back_but = (Button)findViewById(R.id.back_but);
back_but.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(result_activity.this,home.class);
startActivity(i);
}
});
}
}
Are you sure that the punktzahl-variable you are adding together is the one from class antworten? You're writing antworten.geo, but not antworten.punktzahl.
If you try to look up the variable in the IDE where do you arrive?
这篇关于除了没有在Android平台的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!