Android 微调器-所选项目未进入textview

Android 微调器-所选项目未进入textview,android,android-arrayadapter,android-spinner,Android,Android Arrayadapter,Android Spinner,我正在创建一个应用程序,其中有一个微调器和一个文本视图。 我希望所选项目显示在textview中 我已经制作了应用程序,但问题是它没有获取字符串中所选项目的值,并且应用程序正在强制关闭。 我该怎么办 以下是MainActivity.class: 以下是微调器的xml- <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android

我正在创建一个应用程序,其中有一个微调器和一个文本视图。 我希望所选项目显示在textview中

我已经制作了应用程序,但问题是它没有获取字符串中所选项目的值,并且应用程序正在强制关闭。 我该怎么办

以下是MainActivity.class:

以下是微调器的xml-

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Select Access Level"
android:textColor="#808080"
android:textSize="18sp" />
我希望所选项目显示在textview中

在setContentView之后放置以下行

并使用以下代码:

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                String itemText = parent.getItemAtPosition(position).toString();
                tv.setText(itemText);
            }

            public void onNothingSelected(AdapterView<?> parent) {
        }
    });
希望有帮助。

试试这个

主课-

    public class MainActivity extends Activity {

        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                this,android.R.layout.simple_spinner_item,R.array.access_level);
                spinner.setAdapter(adapter);


        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
               String item =(String) parent.getItemAtPosition(position);
                tv = (TextView) findViewById(R.id.tv1);
                tv.setText(item);
            }

            public void onNothingSelected(AdapterView<?> parent) {
        }
    });
}

您在此处遇到错误,因为您打印了对象项。此外,您没有从微调器获取所选项目,也没有将其设置为文本视图。将代码更改为:

tv = (TextView)findViewById(R.id.tv1);
 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                tv.setText(parent.getItemAtPosition(position).toString());
            }

            public void onNothingSelected(AdapterView<?> parent) {
        }
    });

我认为应该在setContentView之后添加tv=TextView findViewByd R.id.tv1。如果要在textview中显示所选项目,则应使用字符串str=parent.getItemAtPositionposition.toString;并在onItemSelected方法内将其设置为与tv.setTextstr类似的textview。如果你发布日志,回答会更好。你可能会得到NPE。当我给出-String str=String parent.getItemAtPositionposition时,你能发布StackTrace吗;打印str时,它将强制关闭。@Raghunandan这里是编辑的代码-String item=String parent.getItemAtPositionposition;System.out.printlnitem;和logcat详细信息是-java.lang.NullPointerException当我使用-tv.setTextitemText,应用程序正在强制关闭。您遇到了什么异常?06-13 02:25:51.920:E/AndroidRuntime1132:FATAL异常:main 06-13 02:25:51.920:E/AndroidRuntime1132:java.lang.NullPointerException 06-13 02:25:51.920:E/AndroidRuntime1132:at com.example.SpinnerExample.MainActivity$1.onItemSelectedMainActivity.java:36哪是您的行号36?这只是因为我使用字符串itemText=parent.getItemAtPositionposition.toString;而不是Object itemText=parent.getItemAtPositionposition.toString;并将其打印在tv.setTextitemText中;它在这一行上给出NPE-tv.setTextparent.getItemAtPositionposition.toString;编辑的代码在哪里?我已经检查了您的代码。它显示了相同的问题,即由于-tv=textview findviewbydr.id.tv1上的空指针异常,无法在textview上查看我正在获取的项目;为什么您可以用简单的方式使用字符串,比如:objecttext=sp.getSelectedItem;字符串str=text.toString;TextView tv=TextViewfindViewByIdR.id.textView1;tv.setTextstr;若字符串遇到问题,那个么请告诉我对象是什么?我可以打印对象,但无法在任何文本上设置对象,因为在执行tv.setTextobjectname,应用程序在这一行显示NPE。Ojeect是java中所有类的超类。要了解更多信息,我知道@Aman对象是超类,但在textview上设置objectname后,它会给出null指针异常。
tv = (TextView)findViewById(R.id.tv1);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                String itemText = parent.getItemAtPosition(position).toString();
                tv.setText(itemText);
            }

            public void onNothingSelected(AdapterView<?> parent) {
        }
    });
    public class MainActivity extends Activity {

        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                this,android.R.layout.simple_spinner_item,R.array.access_level);
                spinner.setAdapter(adapter);


        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
               String item =(String) parent.getItemAtPosition(position);
                tv = (TextView) findViewById(R.id.tv1);
                tv.setText(item);
            }

            public void onNothingSelected(AdapterView<?> parent) {
        }
    });
}
tv = (TextView)findViewById(R.id.tv1);
 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                tv.setText(parent.getItemAtPosition(position).toString());
            }

            public void onNothingSelected(AdapterView<?> parent) {
        }
    });