这是我的代码
//declare a boolean variable for score
private int optionTxtView = 0 ;
//Search word
//display score
public void viewWord(View view)
{
score = (TextView)findViewById(R.id.yourScore);
tv2 = (TextView)findViewById(R.id.tv2);
tv3 = (TextView)findViewById(R.id.tv3);
searchWord = (ImageView) findViewById(R.id.searchWord);
wordList = (ListView) findViewById(R.id.wordList);
text = (AutoCompleteTextView) findViewById(R.id.textHere);
wordList = (ListView) findViewById(R.id.wordList);
String s1= search.getText().toString();
String s2= dbHelper.getData(s1);
if(optionTxtView == 0){
//display the score on textview1
tv2.setText(s2);
optionTxtView = 1;
}
else{
//display the score on textview2
tv3.setText(s2);
optionTxtView = 0;
}
calculate();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>());
wordList.setAdapter(adapter);
adapter.add(text.getText().toString());
adapter.notifyDataSetChanged();
text.setText(null);
}
private void calculate(){
x = Integer.parseInt(tv2.getText().toString());
y = Integer.parseInt(tv3.getText().toString());
z = x + y;
score.setText(Integer.toString(z));
}
所以基本上我决定有3个textviews,score,tv2和tv3。所以第一个单词的第一个分数应该在tv2中,第二个分数应该在tv3中。这两个textview的总和应该是得分。 将文本放在textview上后,它将通过点击图像按钮从数据库中的textview中搜索单词。如果单词在数据库中,它会自动将单词放在listview中,同时它应该在两个textview上显示分数。
我真的需要帮助。我尝试了所有我能做的但是当textview tv2和tv3中的值/数字从属性设置时它永远不会添加EXCEPT。但是,只要数字/值来自数据库(因为它应该是它),它就永远不会添加!
任何帮助都将受到高度赞赏。请帮我处理我的密码。
onCreate Method
//TAKE NOTE: 16 IMAGEBUTTONS
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper =new DBAdapter(this);
search = (EditText) findViewById(R.id.textHere);
words = (EditText) findViewById(R.id.edWord);
scores = (EditText) findViewById(R.id.edScore);
show_addWord = (ImageView) findViewById(R.id.show_addWord);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>());
wordList.setAdapter(adapter);
score = (TextView)findViewById(R.id.yourScore);
tv2 = (TextView)findViewById(R.id.tv2);
tv3 = (TextView)findViewById(R.id.tv3);
wordList = (ListView) findViewById(R.id.wordList);
text = (AutoCompleteTextView) findViewById(R.id.textHere);
wordList = (ListView) findViewById(R.id.wordList);
blizzard = (ImageView) findViewById(R.id.blizzard);
bomb = (ImageView) findViewById(R.id.bomb);
searchWord = (ImageView) findViewById(R.id.searchWord);
wordList = (ListView) findViewById(R.id.wordList); //this is til 16
image1 = (ImageButton) findViewById(R.id.Button1);
image16 = (ImageButton) findViewById(R.id.Button16);
timer = (TextView) this.findViewById(R.id.timer);
timer.setText("00:00:30");
countDownTimer = new MyCountDownTimer(30000,1000);
final AutoCompleteTextView text = (AutoCompleteTextView) findViewById(R.id.textHere);
final ImageButton image1 = (ImageButton) findViewById(R.id.Button1); //this is til 16
final ImageButton image16 = (ImageButton) findViewById(R.id.Button16);
final int[] myPics = { R.drawable.a, R.drawable.b, R.drawable.c,
R.drawable.e }; //this is til z
//this is til 16
int rando = (int)(Math.random()* 5);
image1.setImageResource(myPics[rando]);
image1.setId(myPics[rando]);
//this is from a -z
OnClickListener myCommoClickListner = new OnClickListener(){
@Override
public void onClick(View arg0) {
Log.i(TAG,"arg0.getId() = " + arg0.getId());
if(arg0.getId()==R.drawable.a){
Log.i(TAG,"arg0.getId()="+arg0.getId());
generatedString=generatedString+"a"; //[PLACEE RESPACTIVE CHARACTEER HERE]
text.setText(generatedString);
((ImageButton) arg0).setImageResource(R.drawable.changea);
if (!timeHasStarted) {
countDownTimer.start();
timeHasStarted = true;
}
else{
if(arg0.getId()==R.drawable.z){
Log.i(TAG,"arg0.getId() = " + arg0.getId());
generatedString = generatedString+"z";
text.setText(generatedString);
((ImageButton) arg0).setImageResource(R.drawable.changez);
if (!timeHasStarted) {
countDownTimer.start();
timeHasStarted = true;
}
}
}
};
image1.setOnClickListener(myCommoClickListner);
image2.setOnClickListener(myCommoClickListner);
image3.setOnClickListener(myCommoClickListner);
image4.setOnClickListener(myCommoClickListner);
image5.setOnClickListener(myCommoClickListner);
image6.setOnClickListener(myCommoClickListner);
image7.setOnClickListener(myCommoClickListner);
image8.setOnClickListener(myCommoClickListner);
image9.setOnClickListener(myCommoClickListner);
image10.setOnClickListener(myCommoClickListner);
image11.setOnClickListener(myCommoClickListner);
image12.setOnClickListener(myCommoClickListner);
image13.setOnClickListener(myCommoClickListner);
image14.setOnClickListener(myCommoClickListner);
image15.setOnClickListener(myCommoClickListner);
image16.setOnClickListener(myCommoClickListner);
}
LOGCAT
答案 0 :(得分:1)
它永远不会在textview tv2和tv3中的值/数字时添加EXCEPT 是从属性
设置的
您需要将代码放在onClick
按钮或监听的任何内容中,以便用户执行操作。之后,您可以获得textview's
值并对其执行某些操作。
从代码的外观来看,我建议您移动 onCreate
中的所有初始化:
//move this code to onCreate
score = (TextView)findViewById(R.id.yourScore);
tv2 = (TextView)findViewById(R.id.tv2);
tv3 = (TextView)findViewById(R.id.tv3);
searchWord = (ImageView) findViewById(R.id.searchWord);
wordList = (ListView) findViewById(R.id.wordList);
text = (AutoCompleteTextView) findViewById(R.id.textHere);
wordList = (ListView) findViewById(R.id.wordList);
//also move this
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>());
wordList.setAdapter(adapter);
之后,请致电viewWord()
(或您喜欢的任何内容)中的onClick
,例如:
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
viewWord(v); //v is your button
}
});
更新
在查看logcat
中的异常之后,似乎发生了错误,因为整数有一些whitespaces
:“2”&lt; - 2之后的空格
尝试:
x = Integer.parseInt(tv2.getText().toString().replaceAll("\\s",""));
y = Integer.parseInt(tv3.getText().toString().replaceAll("\\s",""));
我们的想法是删除所有空白,然后再将其解析为Integer
。
如果您有任何问题或者如果我想念您,请随意发表评论:)