android开发中button按钮不起作用,btn不响应点击事件,检查没有发现代码的问题。
activity源代码如下:publicclassMainActivityextendsActivity{privateTextViewtv;privateEditTex...
activity源代码如下:
public class MainActivity extends Activity {
private TextView tv;
private EditText et;
private Button btn;
private String text;
public static Socket socket;
private DataOutputStream dout;
private Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(tv==null)tv=(TextView)findViewById(R.id.TextView);
if(et==null)et=(EditText)findViewById(R.id.EditText);
if(btn==null)btn=(Button)findViewById(R.id.Button);
btn=new Button(this);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
doclick();
}
});
}
public void doclick(){
text=(String)btn.getText();
ConnectToServer();
intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
this.finish();
}
public void ConnectToServer(){
try{
socket=new Socket("192.168.1.100",8888);
dout=new DataOutputStream(socket.getOutputStream());
dout.writeUTF(text);
dout.flush();
dout.close();
}catch(Exception e){
e.printStackTrace();
}
}
} 展开
public class MainActivity extends Activity {
private TextView tv;
private EditText et;
private Button btn;
private String text;
public static Socket socket;
private DataOutputStream dout;
private Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(tv==null)tv=(TextView)findViewById(R.id.TextView);
if(et==null)et=(EditText)findViewById(R.id.EditText);
if(btn==null)btn=(Button)findViewById(R.id.Button);
btn=new Button(this);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
doclick();
}
});
}
public void doclick(){
text=(String)btn.getText();
ConnectToServer();
intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
this.finish();
}
public void ConnectToServer(){
try{
socket=new Socket("192.168.1.100",8888);
dout=new DataOutputStream(socket.getOutputStream());
dout.writeUTF(text);
dout.flush();
dout.close();
}catch(Exception e){
e.printStackTrace();
}
}
} 展开
2个回答
展开全部
if(btn==null)btn=(Button)findViewById(R.id.Button);
btn=new Button(this);
你这里有问题你这句重新创建了一个button对象,当然点击button没有反映了
更多追问追答
追问
但是如果我没有第二句,下一句给这个button添加按钮这一行时程序又要报空指针错误
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
doclick();
}
});
}
这是哪里除了问题,请指教!谢谢!
追答
那就是你其他地方有问题了。 看一下XML文件 不行的话 加我QQ745834695
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询