Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试在android中实现微调器时出现奇怪错误_Java_Android_Spinner - Fatal编程技术网

Java 尝试在android中实现微调器时出现奇怪错误

Java 尝试在android中实现微调器时出现奇怪错误,java,android,spinner,Java,Android,Spinner,我正试图在android中实现一个微调器,但在执行时,我遇到了一个奇怪的语法错误,我无法解决它 我写的代码是: public class AddContact extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act

我正试图在android中实现一个微调器,但在执行时,我遇到了一个奇怪的语法错误,我无法解决它

我写的代码是:

public class AddContact extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_contact);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.add_contact, menu);
        return true;
    }

    Spinner spinner = (Spinner) findViewById(R.id.contact_number_array);

    //Create an ArrayAdapter using the string array and a default spinner layout
    ArrayAdapter<CharSequence> Adapter = ArrayAdapter.createFromResource(this, R.array.phone_array, android.R.layout.simple_spinner_item);

    //Specify the layout to use when the list of choices appears
    Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}

我想不出是什么问题。有人能帮忙吗?

在Java中,除非您将该方法的结果存储在字段中,否则您不能在类级别调用方法,而是尝试在类级别调用
Adapter
上的
setDropDownViewResource
方法

class AddContact {
    //...
    Adapter.setDropDownViewResource(...);
}
尝试将此代码移动到构造函数、方法或初始化块

class AddContact {
    //...

    {//initialization block
        Adapter.setDropDownViewResource(...);
    }
    public AddContact (){//constructor
        Adapter.setDropDownViewResource(...);
    }

    void someMethod(){
        Adapter.setDropDownViewResource(...);
    }
}

您将代码放在了错误的位置,您应该在其中一个方法中执行微调器工作
onCreate
onStart

只要替换你的类代码就行了

public class AddContact extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_contact);


    Spinner spinner = (Spinner) findViewById(R.id.scrollViewMain);   

    ArrayAdapter<CharSequence> Adapter =
            ArrayAdapter.createFromResource(this, R.array.phone_array, android.R.layout.simple_spinner_item);

    // Specify the layout to use when the list of
    // choices appears
    spinner.setAdapter(Adapter);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.add_contact, menu);
        return true;
    }

}
public类AddContact扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u add\u contact);
微调器微调器=(微调器)findViewById(R.id.scrollViewMain);
阵列适配器=
ArrayAdapter.createFromResource(这个,R.array.phone\u数组,android.R.layout.simple\u微调器\u项);
//指定要在显示列表时使用的布局
//选择出现
旋转器。设置适配器(适配器);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.add_触点,菜单);
返回true;
}
}

请发布完整的代码和堆栈跟踪。但如果这是您的完整代码,您必须完成最后一行。上面写着
适配器。
当我试图完成测试时,它会给我一个错误line@AnmolWadhwa检查我的答案把你的代码放在正确的地方运行你不能把可运行的代码放在类主体中。。。在开始使用Android之前,您应该先熟悉一些基本的Java。这也适用于公约。。。变量不应以大写字母开头(例如,使用
adapter
而不是
adapter
)@AnmolWadhwa做这项工作我对实现微调器不是很有信心,所以我不太确定应该使用哪种方法。@AnmolWadhwa我不是Android开发者,所以在这件事上无法帮助您,但其他答案似乎包含您需要的信息。我发布这个答案是因为你的问题只与Java有关。
public class AddContact extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_contact);


    Spinner spinner = (Spinner) findViewById(R.id.scrollViewMain);   

    ArrayAdapter<CharSequence> Adapter =
            ArrayAdapter.createFromResource(this, R.array.phone_array, android.R.layout.simple_spinner_item);

    // Specify the layout to use when the list of
    // choices appears
    spinner.setAdapter(Adapter);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.add_contact, menu);
        return true;
    }

}