Java 如何在android中同时显示微调器和文本视图

Java 如何在android中同时显示微调器和文本视图,java,android,spinner,android-spinner,Java,Android,Spinner,Android Spinner,我正在创建一个android应用程序,我想在列表视图中显示spinner和textview。我对spinner和textview的值使用了单独的xml类。对于以下代码示例,它只显示textview中的值,而不显示spinner中的值。如何显示spinner和textview中的值..I;我对安卓编程一无所知 package com.example.dcsd; import android.app.ListActivity; import android.content.Context; impo

我正在创建一个android应用程序,我想在列表视图中显示spinner和textview。我对spinner和textview的值使用了单独的xml类。对于以下代码示例,它只显示textview中的值,而不显示spinner中的值。如何显示spinner和textview中的值..I;我对安卓编程一无所知

package com.example.dcsd;
import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class Result extends ListActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.result);
    setListAdapter(new MyAdapter(this,android.R.layout.simple_list_item_1,R.id.textView1, getResources().getStringArray(R.array.modules)));
    setListAdapter(new MyAdapter(this, android.R.layout.simple_spinner_dropdown_item,R.id.spinner1, getResources().getStringArray(R.array.grades)));

}
private class MyAdapter extends ArrayAdapter<String>{

    public MyAdapter(Context context, int resource, int textViewResourceId,
            String[] strings) {
        super(context, resource, textViewResourceId, strings);
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater=(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View row=inflater.inflate(R.layout.item_layout, parent,false);
        String[] items=getResources().getStringArray(R.array.modules);
        TextView tv=(TextView) row.findViewById(R.id.textView1);        
        tv.setText(items[position]);
        Log.d("num", "lu");
        return row; 
    }
    @Override
    public View getDropDownView(int position, View convertView,
            ViewGroup parent) {
        LayoutInflater inflater=(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View row=inflater.inflate(R.layout.item_layout, parent,false);      
        String[] items=getResources().getStringArray(R.array.grades);
        Spinner sp = (Spinner) findViewById(R.id.spinner1);
        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(Result.this, android.R.layout.simple_spinner_item,items);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        sp.setAdapter(adapter);
        Log.d("num", "huuuu");      
        return row;
    }
}
}
package com.example.dcsd;
导入android.app.ListActivity;
导入android.content.Context;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.Spinner;
导入android.widget.TextView;
公共类结果扩展了ListActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
setListAdapter(新的MyAdapter(这个,android.R.layout.simple_list_item_1,R.id.textView1,getResources().getStringArray(R.array.modules));
setListAdapter(新的MyAdapter(这个,android.R.layout.simple_spinner_dropdown_项目,R.id.spinner1,getResources().getStringArray(R.array.grades));
}
私有类MyAdapter扩展了ArrayAdapter{
公共MyAdapter(上下文上下文、int资源、int textViewResourceId、,
字符串[]字符串){
super(上下文、资源、textViewResourceId、字符串);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutFlater充气器=(LayoutFlater)getSystemService(Context.LAYOUT\u充气器\u服务);
视图行=充气机。充气(R.layout.item_布局,父项,false);
String[]items=getResources().getStringArray(R.array.modules);
TextView tv=(TextView)row.findViewById(R.id.textView1);
tv.setText(项目[位置]);
Log.d(“num”、“lu”);
返回行;
}
@凌驾
公共视图getDropDownView(int位置,视图转换视图,
视图组(父级){
LayoutFlater充气器=(LayoutFlater)getSystemService(Context.LAYOUT\u充气器\u服务);
视图行=充气机。充气(R.layout.item_布局,父项,false);
String[]items=getResources().getStringArray(R.array.grades);
Spinner sp=(Spinner)findViewById(R.id.Spinner 1);
最终ArrayAdapter=新的ArrayAdapter(Result.this,android.R.layout.simple\u微调器\u项,项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
sp.setAdapter(适配器);
Log.d(“num”、“huuu”);
返回行;
}
}
}

有一件事,您正在更换适配器。首先创建一个指向android.R.layout.simple_list_item_1布局的MyAdapter实例,然后将该适配器替换为MyAdapter android.R.layout.simple_微调器_下拉列表_项的新实例。结果将是您的列表中只填充了简单的_微调器_下拉列表_项布局。ListView一次只能有一个适配器。因此,如何使用任何替代方式在列表中同时显示微调器和文本视图???您需要根据数据源在getView和getDropDownView中选择适当的布局类型。