[英]Activity is not starting
請看下面的代碼
Form.java
我的主要活動是Form.java。 在里面,我有一個AlertDialog
。 當用戶單擊“是”按鈕時,將調用以下類
private class PositiveDialogBtnAction implements DialogInterface.OnClickListener
{
public PositiveDialogBtnAction()
{
}
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//Toast.makeText(getApplicationContext(), databaseConnector.getStreetAddress(selectedBranch), Toast.LENGTH_LONG).show();
Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.activity_call_dialog);
dialog.setTitle("Select a Phone Number");
dialog.show();
}
}
以下是XML文件和Java類,它們被設置為上述的PositiveDialogBtnAction
類中的Dialog
。
activity_call_dialog
<TextView
android:id="@+id/callNumber1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="" />
<TextView
android:id="@+id/callNumber2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="" />
調用對話框
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;
public class CallDialog extends Activity {
private DatabaseConnector database = DatabaseHandler.getInstance();
private TextView ph1,ph2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_call_dialog);
Toast.makeText(this, "Activity Running", Toast.LENGTH_LONG).show();
//String selectedBranch = Form.selectedBranch;
//ph1 = (TextView)findViewById(R.id.callNumber1);
//ph2 = (TextView)findViewById(R.id.callNumber2);
//ph1.setText(database.getPhoneNumber1(selectedBranch));
//ph2.setText(database.getPhoneNumber2(selectedBranch));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_call_dialog, menu);
return true;
}
}
但是,當PositiveDialogBtnAction
被觸發時, CallDialog.java
提到的Toast
永遠不會被觸發。 似乎它沒有處理CallDIalog.java.
因此,我也無法將值設置為activity_call_dialog.xml中的文本字段。 我已經注釋掉了這些台詞。
為什么與此活動捆綁在一起的Java文件沒有被調用? 請幫忙!
為了創建警報對話框,您應該使用AlertDialog.Builder。 它具有漂亮而流暢的界面,使處理對話框非常容易。 例:
new AlertDialog.Builder(this)
.setMessage("Someone is calling you")
.setPositiveButton("Positive",
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent("com.example.CallDialogActivity"));
}})
.create()
.show();
為了從點擊偵聽器內部啟動新活動,只需使用您在AndroidManifest.xml
為您的CallDialog注冊的動作調用startActivity()
(建議您將其重命名為CallDialogActivity )。 但是無論如何,您應該確定在哪里使用對話框或活動。 它們必須相應地處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.