我按照Android手册的例子起草了一个项目。 但是,有一些问题出现了: 当我触摸选择时,程序将退出程序并返回一条消息“应用程序已意外停止。请再试一次” 有人可以帮助我吗?
这是源代码: package com.example.ch07_dialogask;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity //should be protected
implements DialogInterface.OnClickListener{
TextView txv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txv = (TextView)findViewById(R.id.answer);
new AlertDialog.Builder(this)
.setMessage("Do you like Android phone?")
.setCancelable(false)
.setIcon(android.R.drawable.ic_menu_edit)
.setTitle("Android survey")
.setPositiveButton("Like",this)
.setNegativeButton("Unlike",this)
.setNeutralButton("No Comment",null)
.show();
}
@Override
public void onClick(DialogInterface dialog, int id){
if(id==DialogInterface.BUTTON_POSITIVE){
txv.setText("You Like Android Phone!");
}
else if(id==DialogInterface.BUTTON_NEGATIVE){
txv.setText("You Dislike Android Phone.....");
}
}
答案 0 :(得分:0)
对不起,我还没有发表评论。我还没有50个声望点。
无论如何,尝试使用"新的AlertDialog.Builder ......"该活动的onResume方法的片段。
我敢打赌,这种情况正在发生,因为onCreate方法还没有显示布局。您可以在此处了解有关活动生命周期的更多信息:Android Developer: Activity。另外,尝试使用您的问题发布Logcat。它有助于了解正在发生的事情。
希望这能帮到你!
修改强>
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txv = (TextView)findViewById(R.id.answer);
}
@Override
public void onStart(){ //Called when the activity is becoming visible to the user.
super.onStart();
new AlertDialog.Builder(this)
.setMessage("Do you like Android phone?")
.setCancelable(false)
.setIcon(android.R.drawable.ic_menu_edit)
.setTitle("Android survey")
.setPositiveButton("Like",this)
.setNegativeButton("Unlike",this)
.setNeutralButton("No Comment",null)
.show();
}