读书人

初学者级别的有关问题

发布时间: 2013-01-06 15:44:48 作者: rapoo

菜鸟级别的问题
我想写两个按钮,用设置textview来响应事件,在手机上一运行就显示已停止,求高手

package com.example.hello;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;


public class MainActivity extends Activity {


private static final int MENU_ABOUT = 0;
private static final int MENU_QUIT = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = (Button)findViewById(R.id.button1);
btn1.setOnClickListener(new ButtonListener());
Button btn2 = (Button)findViewById(R.id.menu_settings);
btn2.setOnClickListener(new ButtonListener1());
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0,MENU_ABOUT,0,"关于");
menu.add(0,MENU_QUIT,0,"退出");
return true;
}

class ButtonListener implements OnClickListener{
public void onClick(View arg0) {
// TODO Auto-generated method stub
TextView tvView = (TextView)findViewById(R.id.textView1);
tvView.setText("按下了按钮1");
}
}

class ButtonListener1 implements OnClickListener{
public void onClick(View arg0) {
// TODO Auto-generated method stub
TextView tvView = (TextView)findViewById(R.id.textView1);
tvView.setText("按下了按钮2");
}
}

}

[解决办法]
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
counterText = (TextView)findViewById(R.id.textview_counter);
startButton = (Button)findViewById(R.id.button_start);
stopButton = (Button)findViewById(R.id.button_stop);

startButton.setOnClickListener(this);
stopButton.setOnClickListener(this);

startButton.setEnabled(true);
stopButton.setEnabled(false);

Intent bindIntent = new Intent(MainActivity.this, CounterService.class);
bindService(bindIntent, serviceConnection, Context.BIND_AUTO_CREATE);



Log.i(LOG_TAG,"Main Activity Created.");
EditText et = new EditText(this);
et.setInputType(InputType.TYPE_CLASS_NUMBER);
et.getInputType();
}

@Override
public void onClick(View arg0) {
if(arg0.equals(startButton)){
if(counterService!=null){
counterService.startCounter(0);
startButton.setEnabled(false);
stopButton.setEnabled(true);
}

}else if(arg0.equals(stopButton)){
if(counterService!=null){
counterService.stopCounter();
try {
Thread.sleep(900);
stopButton.setEnabled(false);
startButton.setEnabled(true);
} catch (Exception e) {
e.printStackTrace();
}
}
}

}
[解决办法]
运行了下你后面的代码,只要把
TextView tvView = (TextView)findViewById(R.id.textView1); 改成
TextView tvView = null;
然后在OnCreate()中添加
tvView=(TextView)findViewById(R.id.textView1);
是完全可以运行的!

读书人网 >Android

热点推荐