2012-05-07 71 views
-2

我是新的,所以這可能很簡單,但我已經到處看,無法找出問題。我嘗試清理該項目,main.xml位於資源文件夾中,但仍無法使其工作。我想要做的是在用戶輸入名稱並點擊'show name'按鈕後顯示一個對話框。這真的不應該是這麼難,我已經使用了幾個來自在線的例子,但無法實現它的工作。任何幫助或正確的方向點將不勝感激。先謝謝你。我第一次發帖希望我正確發佈我的問題和代碼。主不能解決到一個類型

package smartTemps.showName.example; 

import android.app.Activity; 
import android.app.Dialog; 
import android.content.DialogInterface; 
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 ShowNameActivity extends Activity implements View.OnClickListener 
{ 
public String name; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 



    //display dialog with button click 

    //create button and register as listener 

    Button submitButton = (Button)findViewById(R.id.submitButton); 
    submitButton.setOnClickListener(new OnClickListener() 
    { 
     public void onClick(View view) 
     { 
      Dialog dialog = new Dialog(main.this); 
      dialog.setContentView(R.layout.maindialog); 
      //builder.setIcon(R.drawable.btn_star); 
      dialog.setTitle("User's name"); 
      dialog.setCancelable(true); 

      //get user name 
    EditText inputName = (EditText)findViewById(R.id.inputName); 
    name = inputName.getText().toString(); 
    TextView userName = (TextView)findViewById(R.id.userName); 
      //set user name label 
      userName.setText("Welcome, " + name); 

      Button submitButton = (Button) findViewById(R.id.submitButton); 
     }  
} 

} 

回答

1

而不是main.this嘗試NameOfYourActivity.this以獲取您的活動的實例引用傳遞到對話框。甚至可以創建一個輔助函數來啓動對話框,並且可以簡單地調用該輔助函數。

0

你需要有一個main.xml文件在您的項目的res/layout文件夾。

如果您有這樣的文件,請檢查xml中是否存在阻止資源編譯器生成R.java的錯誤。

0

如果你閱讀文檔:

Dialog dialog = new Dialog(main.this); 

這是錯誤的(因爲你的活動不叫主),你需要在任何語境或活動來傳遞。如果你想在你的活動來傳遞,然後,如果我有一個名爲活動1活動:

Dialog dialog = new Dialog(this); 

在類的這樣的範圍:

public class Activity1 extends Activity implements View.OnClickListener 
{ 
    // Inside here you would put the line above, where this would refer to Activity1 
} 

學習一些基本的Java :)

相關問題