0

我创建了 2 Activities, Main 和 Second 。我想发送文本,EditText从 Main 到 Second 活动的框中。第一个的 IDEditTextUserName,第二个的 ID 是Description

Main活动的代码是:

package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.support.v4.app.NavUtils;
import android.content.Intent;
import android.widget.EditText;

public class Main extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);           
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void onClick(View v) {
        Intent intent = new Intent(Main.this, Second.class);
        intent.putExtra("username", UserName.getText().toString()); 
        intent.putExtra("gift", Description.getText().toString());  
        startActivity(intent);
    }

    public void ButtonOneClick(View v) {
        switch (v.getId()) {
            case R.id.button1:
                Intent i = new Intent(this, Second.class);
                startActivity(i);
                break;
        }
    } 
}

第二个Activity的完整代码是:package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class Second extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);

        TextView txtInfo = (TextView)findViewById(R.id.TextOne);

        String user = "ЖЫвотное";
        String gift = "дырку от бублика";

        user = getIntent().getExtras().getString("username");
        gift = getIntent().getExtras().getString("gift");

        txtInfo.setText(user + " , вам передали " + gift);
    }
}

和错误:

main.java: Description cannot be resolved
main.java: UserName cannot be resolved

对不起我的英语不好

感谢帮助

PS我在学习java和android编程才第三天,请不要向我扔石头。

4

4 回答 4

1

然后,您将参考您的R类文件,即:

EditText desc = (EditText) findViewById(R.id.Description);
...
于 2012-08-17T08:00:01.447 回答
0

正如您所引用的那样UserNameDescription这里将它们称为类。除非您有这样的类,否则将说明错误,因为无法找到(或“解决”)这些类。您甚至可以通过语法高亮注意到这一点。您是否看到以浅绿色/绿松石色显示的单词 a 像Mainor Intent

public void onClick(View v) {
    Intent intent = new Intent(Main.this, Second.class);
    intent.putExtra("username", UserName.getText().toString()); 
    intent.putExtra("gift", Description.getText().toString());  
    startActivity(intent);
}

EditText相反,您需要您调用的类的实例userNamedescription. 在这些对象上,您可以按照getText()自己的方式执行和工作。:)

public void onClick(View v) {
    Intent intent = new Intent(Main.this, Second.class);
    EditText userName = (EditText) findViewById(R.id.username);
    EditText description = (EditText) findViewById(R.id.description);
    intent.putExtra("username", userName.getText().toString()); 
    intent.putExtra("gift", description.getText().toString());  
    startActivity(intent);
}

请注意,我已将变量的名称更改为以camelCase开头的 lowerCase 。虽然不是一个明确的规则,但以小写字母开头的变量名('userName ,description ,intent ) while **C**lass references like (ÈditText ,Main ,Second`)以大写字母开头被认为是一种很好的做法。

于 2012-08-17T08:14:31.027 回答
0

你没有包括

EditText UserName = (EditText) findViewById(R.id.username);
EditText Description = (EditText) findViewById(R.id.description);

在 MainActivity 的 onCreate() 方法中。

于 2012-08-17T08:07:40.813 回答
0

你还没有在你的java中初始化用户名和描述;

EditText us_name=(EditText) findViewById(R.id.user_name);
EditText us_desp=(EditText) findViewById(R.id.desp);
于 2012-08-17T08:51:16.500 回答