Android 无法将main解析为类型
我是新来的,所以这可能很简单,但我到处都找过了,无法找出问题所在。我试图清理项目,main.xml位于resources文件夹中,但仍然无法使其正常工作。我所要做的就是在用户输入名称并点击“显示名称”按钮后显示一个对话框。这真的不应该这么难,我在网上用了几个例子,但无法让它发挥作用。如果有任何帮助或正确的方向,我们将不胜感激。先谢谢你。我是第一次发帖,希望我能正确发帖Android 无法将main解析为类型,android,dialog,Android,Dialog,我是新来的,所以这可能很简单,但我到处都找过了,无法找出问题所在。我试图清理项目,main.xml位于resources文件夹中,但仍然无法使其正常工作。我所要做的就是在用户输入名称并点击“显示名称”按钮后显示一个对话框。这真的不应该这么难,我在网上用了几个例子,但无法让它发挥作用。如果有任何帮助或正确的方向,我们将不胜感激。先谢谢你。我是第一次发帖,希望我能正确发帖 package smartTemps.showName.example; import android.app.Activit
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);
}
}
}
您需要在项目的
res/layout
文件夹中有一个main.xml
文件
如果您有这样一个文件,请检查xml中是否存在阻止资源编译器生成R.java的错误。而不是main。请尝试使用活动的名称。将活动的实例引用传递到对话框中。甚至可以创建一个小助手函数来启动对话框,并定期引用该函数,并且
OnClickListener
可以简单地调用该助手函数。如果您阅读了文档:
Dialog dialog = new Dialog(main.this);
这是错误的(因为您的活动未被称为main),您需要在上下文或活动中传递。如果您要通过您的活动,那么如果我有一个名为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:)