Java 代码不工作(android)
我知道这是一个相当业余的问题,但我真的很沮丧: 我没有得到一个错误,但它只是不工作。(忽略包部分)包com.example.project1;导入android.app.Activity 这是java文件Java 代码不工作(android),java,android,eclipse,Java,Android,Eclipse,我知道这是一个相当业余的问题,但我真的很沮丧: 我没有得到一个错误,但它只是不工作。(忽略包部分)包com.example.project1;导入android.app.Activity 这是java文件 package com.example.project1; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View;
package com.example.project1;
import android.app.Activity;
import android.content.Intent;
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 Tictactoe2 extends Activity implements OnClickListener{
EditText et1 , et2;
String str1 , str2;
Button b1;
TextView tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.ttt);
et1 = (EditText) findViewById (R.id.et1);
et2 = (EditText) findViewById (R.id.et2);
tv2 = (TextView) findViewById (R.id.tv2);
str1 = et1.getText().toString();
str2 = et2.getText().toString();
b1 = (Button) findViewById (R.id.b1);
b1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.b1:
tv2.setText(str1);
/*Bundle bun = new Bundle();
bun.putString("key", str1);
bun.putString("key1", str2);;
Intent intent = new Intent(tictactoe2.this , tictactoe.class);
intent.putExtras(bun);
startActivity(intent);*/
break;
}}
}
您应该在onClick中放置“str1”字符串、textview和edittext代码
像这样:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.b1:
et1 = (EditText) findViewById (R.id.et1);
tv2 = (TextView) findViewById (R.id.tv2);
str1 = et1.getText().toString();
tv2.setText(str1);
/*Bundle bun = new Bundle();
bun.putString("key", str1);
bun.putString("key1", str2);;
Intent intent = new Intent(tictactoe2.this , tictactoe.class);
intent.putExtras(bun);
startActivity(intent);*/
break;
}}我想你得到了
NPE
。您需要删除此行
str1 = et1.getText().toString();
str2 = et2.getText().toString();
这是因为您试图从EditText
获取getText()
,但其中没有文本。因此,我建议您将这些行移到一些侦听器事件下,在编辑文本中设置值后,您可以在这些事件下获取值
你执行起来像
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.b1:
str1 = et1.getText().toString();
str2 = et2.getText().toString();
tv2.setText(str1);
}}
什么不起作用?您是否遇到异常,代码是否未按预期工作?请提供堆栈跟踪或在单击中准确描述哪些内容不工作GetTextButton@user3671445NPE
表示空指针异常
。
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.b1:
str1 = et1.getText().toString();
str2 = et2.getText().toString();
tv2.setText(str1);
}}