【问题标题】:main cannot be resolved to a typemain 无法解析为类型
【发布时间】:2012-05-07 22:12:38
【问题描述】:

我是新人,所以这可能很简单,但我到处找了,无法找出问题所在。我试图清理项目,main.xml 在资源文件夹中,但仍然无法正常工作。我要做的就是在用户输入名称并点击“显示名称”按钮后显示一个对话框。它真的不应该这么难,我已经使用了网上的几个例子,但无法让它发挥作用。任何帮助或正确方向的观点将不胜感激。先感谢您。我第一次发帖,希望我能正确发布我的问题和代码。

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);
        }       
 }

}

【问题讨论】:

    标签: android dialog


    【解决方案1】:

    而不是 main.this 尝试 NameOfYourActivity.this 获取您的 Activity 的实例引用以传递到对话框中。或者甚至创建一个小助手函数来启动 Dialog 并定期引用它,OnClickListener 可以简单地调用该助手函数。

    【讨论】:

      【解决方案2】:

      您需要在项目的res/layout 文件夹中有一个main.xml 文件。

      如果您有这样的文件,请检查 xml 中是否存在阻止资源编译器生成 R.java 的错误。

      【讨论】:

        【解决方案3】:

        如果您阅读文档:

        Dialog dialog = new Dialog(main.this);
        

        这是错误的(因为您的 Activity 没有被称为 main),您需要传入 Context 或 Activity。如果您要传递您的活动,那么如果我有一个名为 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 :)

        【讨论】:

          猜你喜欢
          • 2015-10-22
          • 1970-01-01
          • 2021-08-28
          • 2013-12-14
          • 2015-06-10
          • 2015-11-22
          • 1970-01-01
          • 2014-07-23
          • 2011-12-31
          相关资源
          最近更新 更多