在 android 工作室制作表格

Making form on android studio

我用一些代码在 Android 上制作了一个简单的表格。似乎代码的某些部分正在引用某些东西。 我不确定要放什么才能让它正常工作?我遇到错误。

Error:(18, 32) error: cannot find symbol variable activity_form
Error:(33, 88) error: package com.chalkstreet.learnandroid.main does not exist
Error:(48, 50) error: cannot find symbol class MainSource
Error:(57, 41) error: cannot find symbol variable menu_main

我认为我不需要使用我没有的软件包。

示例问题:

Intent sender = new Intent(Form.this, 
===> ????  com.chalkstreet.learnandroid.main.Display.class);

这是我的表格:

public class Form extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_form);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    //Initialize buttons and Edit Texts for form
    Button btnSubmit = (Button) findViewById(R.id.button_submit);
    Button btnSrc = (Button) findViewById(R.id.buttonSrc);
    final EditText name = (EditText) findViewById(R.id.editText1);
    final EditText email = (EditText) findViewById(R.id.editText2);
    final EditText phone = (EditText) findViewById(R.id.editText4);

    //Listener on Submit button
    btnSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent sender = new Intent(Form.this, com.chalkstreet.learnandroid.main.Display.class);
            Bundle b1 = new Bundle(); //Bundle to wrap all data
            b1.putString("name", name.getText().toString()); //Adding data to bundle
            b1.putString("email", email.getText().toString());
            b1.putString("phone", phone.getText().toString());
            sender.putExtras(b1); //putExtras method to send the bundle
            startActivity(sender);
            Form.this.finish(); //Finish form activity to remove it from stack
        }
    });

    //Listener on source button
    btnSrc.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent j = new Intent(Form.this, MainSource.class);
            startActivity(j);
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == android.R.id.home) {

        Form.this.finish();
        return true;
    }
    return super.onOptionsItemSelected(item);


 }
}

谢谢

当您创建一个明确的Intent时,您只需要提供起始上下文和结束class。

Intent i = new Intent(FirstActivity.this, ResultActivity.class);

创建一个名为 MainSource.java 的文件,如果您还没有这样做的话,然后在 res 目录下的菜单文件夹中创建一个名为 menu_main.xml 的文件并添加您的菜单项,在 res 目录下的 layout 文件夹中创建另一个布局文件,并将其命名为 activity_form.xml,然后您可以添加与 Form.java

中的 id 匹配的必要视图

更具体地说,menu_main 可能包含

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings"
        app:showAsAction="never" />
</menu>

activity_form.xml 可能类似于

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Name" />

        <EditText
            android:id="@+id/editText2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Email" />

        <EditText
            android:id="@+id/editText3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Something Else" />

        <EditText
            android:id="@+id/editText4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Phone" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">
        <Button
            android:id="@+id/button_submit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/buttonSrc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
</LinearLayout>
    </LinearLayout>

我不知道你想让 MainSource 做什么,所以我不能说太多。希望对您有所帮助。