Java 午餐列表Android应用程序

Java 午餐列表Android应用程序,java,android,Java,Android,我是Android编程新手。我正在做这本书上的项目。我编写了这个类来返回名称和地址,然后为它编写了OnClickListener,但当我单击save按钮时,它似乎不起作用。这是我的两个Java文件: package com.example.lunchlist; public class Returant { private String name=""; private String address=""; public String getN

我是Android编程新手。我正在做这本书上的项目。我编写了这个类来返回名称和地址,然后为它编写了OnClickListener,但当我单击save按钮时,它似乎不起作用。这是我的两个Java文件:

package com.example.lunchlist;

public class Returant {

        private String name="";
        private String address="";
        public String getName() {
        return(name);
        }
        public void setName(String name) {
        this.name=name;
        }
        public String getAddress() {
        return(address);
        }
        public void setAddress(String address) {
        this.address=address;
        }
        }
这是我的主要活动文件:

import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    Returant r = new Returant();



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button save = (Button) findViewById(R.id.save);
        save.setOnClickListener(onSave);
        }

    private View.OnClickListener onSave=new View.OnClickListener() {
        public void onClick(View v) {
        EditText name=(EditText)findViewById(R.id.name);
        EditText address=(EditText)findViewById(R.id.addr);
        r.setName(name.getText().toString());
        r.setAddress(address.getText().toString());
        }

    };  
}

您可以只记录该值并查看日志。 尝试在OnClickListener中添加这两行

Log.i(TAG, r.getName());
Log.i(TAG, r.getAddress());
如果打印出某些内容,则意味着您成功地将值设置为变量

public class MainActivity extends Activity {

Returant r = new Returant();
EditText name;
EditText address;
String TAG = "MainActivity";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button save = (Button) findViewById(R.id.save);
    name=(EditText)findViewById(R.id.name);
    address=(EditText)findViewById(R.id.addr);
    save.setOnClickListener(onSave);
    }

private View.OnClickListener onSave=new View.OnClickListener() {
    public void onClick(View v) {
    r.setName(name.getText().toString());
    r.setAddress(address.getText().toString());
    Log.i(TAG, r.getName());
    Log.i(TAG, r.getAddress());
    }
};  
}

我相信一旦你点击save按钮,它就会返回你在TextField上的姓名和地址

我不知道你为什么会这样想。这本书当然没有指出这一点。我知道这一点,因为这本书是我写的。具体来说,这本书似乎出自我的退休著作《Android编程教程》,特别是《教程2》

在中,教程#2的教程步骤末尾有:

运行应用程序以确保它看起来运行时没有错误, 虽然在这一点上,我们并没有真正使用保存在餐厅中的数据 现在还没有


在本教程的这一点上,我们所做的就是从
EditText
对象中提取数据,并将其放入
餐厅
(或者,在您的情况下,
Returant
)。

“但当我单击“保存”按钮时,它似乎不起作用”——什么“似乎不起作用”是什么意思?我相信一旦你点击save按钮,它就会返回你在TextField上的名字和地址,而在我的Android虚拟设备上它什么都不做。我明白你的意思了。非常感谢您的帮助。是日志。我想在我的EditText中返回值,因为当我单击Submit时,仍然没有发生任何事情。我知道我想做什么,如果我只是用java做的话,那就容易多了。我还没有看完整本书,但我只是想看看这样做有多简单。如果你能给我举个例子或给我指个例子,那会很有帮助的。我从昨天开始才开始安卓编程,所以我对这个完全陌生。Thanks@ReazurRahman您可以想到Java中的Log.i和System.out.println。该值将在Logcat区域打印输出。如果你以前没有使用过logcat,你可以用谷歌搜索一下如何使用它。我的意思是你可以把Log.I想象成Java中的System.out.println。