2012-05-07 5 views
-2

Я новичок, поэтому это, вероятно, просто, но я повсюду искал и не могу понять проблему. Я попытался очистить проект, main.xml находится в папке ресурсов, но все равно не может заставить это работать. Все, что я пытаюсь сделать, это показать диалоговое окно после того, как пользователь вводит имя и нажимает кнопку «показать имя». Это действительно не должно быть так сложно, и я использовал несколько примеров из онлайн, но не могу заставить его работать. Любая помощь или точка в правильном направлении были бы высоко оценены. Заранее спасибо. В первый раз я так надеялся, что правильно поставил свой вопрос и код.main не может быть разрешен к типу

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, чтобы получить ссылку на экземпляр вашей Деятельности, чтобы перейти в диалоговое окно. Или даже создайте небольшую вспомогательную функцию, которая запускает диалог с регулярной ссылкой на него, и OnClickListener может просто вызвать эту вспомогательную функцию.

0

Вы должны иметь main.xml файл в res/layout папке вашего проекта.

Если у вас есть такой файл, проверьте, нет ли ошибок в xml, который мешает компилятору ресурсов генерировать R.java.

0

Если вы читаете документацию:

Dialog dialog = new Dialog(main.this); 

Это неправильно (потому что ваша активность не называется основной), вам необходимо пройти в любом контексте или деятельности. Если вы собираетесь передать в вашей деятельности, то, если у меня есть деятельность под названием Activity1:

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 :)

Смежные вопросы