首页 > 解决方案 > 如果可以的话,我可以在 android studio 中使用数组吗?那么如何在屏幕上显示数组的所有元素

问题描述

我想在数组的帮助下打印所有这些数字,而不是 ArrayList...

显示此错误消息:

2021-04-11 12:32:51.142 8075-8075/com.example.listviewtest E/AndroidRuntime:致命异常:主进程:com.example.listviewtest,PID:8075 java.lang.RuntimeException:无法启动活动 ComponentInfo{ com.example.listviewtest/com.example.listviewtest.UsingArray}:java.lang.NullPointerException:尝试在 android 的空对象引用上调用虚拟方法 'void android.widget.TextView.setText(java.lang.CharSequence)' .app.ActivityThread.performLaunchActivity(ActivityThread.java:3308) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在 android.app。 servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 在 android.app.servertransaction.TransactionExecutor。在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.ActivityThread$H.handleMessage(ActivityThread.java:2044) 处执行(TransactionExecutor.java:95) 在 android.os.Looper.loop(Looper .java:224) 在 android.app.ActivityThread.main(ActivityThread.java:7560) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit .java:539) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) 引起:java.lang.NullPointerException:尝试调用虚拟方法 'void android.widget.TextView.setText(java. lang.CharSequence)' 在 com.example.listviewtest.UsingArray.onCreate(UsingArray.java:58) 在 android.app.Activity.performCreate(Activity.java:7894) 在 android.app.Activity.performCreate 的空对象引用(Activity.java:7881) 在 android.app.Instrumentation。callActivityOnCreate(Instrumentation.java:1307) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3283)

这是代码

包 com.example.listviewtest;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

import java.util.Arrays;

public class UsingArray extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_using_array);
        String[] numbers = new String[20];
        numbers[0] = ("One");
        numbers[1] = ("Two");
        numbers[2] = ("Three");
        numbers[3] = ("Four");
        numbers[4] = ("Five");
        numbers[5] = ("Six");
        numbers[6] = ("Seven");
        numbers[7] = ("Eight");
        numbers[8] = ("Nine");
        numbers[9] = ("Ten");
        numbers[10] = ("Eleven");
        numbers[11] = ("Twelve");
        numbers[12] = ("Thirteen");
        numbers[13] = ("Fourteen");
        numbers[14] = ("Fifteen");
        numbers[15] = ("Sixteen");
        numbers[16] = ("Seventeen");
        numbers[17] = ("Eighteen");
        numbers[18] = ("Nineteen");
        numbers[19] = ("Twenty");

//        LinearLayout arrayTextView = (LinearLayout) findViewById(R.id.arrayTextView);

//        Log.v("UsingArray", "In index 0 = " + numbers[0]);
//        Log.v("UsingArray", "In index 1 = " + numbers[1]);
//        Log.v("UsingArray", "In index 2 = " + numbers[2]);
//        Log.v("UsingArray", "In index 3 = " + numbers[3]);
//        Log.v("UsingArray", "In index 4 = " + numbers[4]);
//        Log.v("UsingArray", "In index 5 = " + numbers[5]);
//        Log.v("UsingArray", "In index 6 = " + numbers[6]);
//        Log.v("UsingArray", "In index 7 = " + numbers[7]);
//        Log.v("UsingArray", "In index 8 = " + numbers[8]);
//        Log.v("UsingArray", "In index 9 = " + numbers[9]);
//        Log.v("UsingArray", "In index 10 = " + numbers[10]);
        TextView textView = (TextView) findViewById(R.id.usingArrayTextView);
//        for (int y = 0; y <= numbers.length - 1; y++) {
//            textView.setText(Arrays.toString(new String[]{numbers[y]}));
//        }
        textView.setText(Arrays.toString(numbers));
    }
}

标签: javaandroidandroid-studio

解决方案


有两种方法:

下面的java代码在我的情况下工作正常:

import android.os.Bundle;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import java.util.Arrays;

public class UsingArray extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_using_array);
    String[] numbers = new String[20];
    numbers[0] = ("One");
    numbers[1] = ("Two");
    numbers[2] = ("Three");
    numbers[3] = ("Four");
    numbers[4] = ("Five");
    numbers[5] = ("Six");
    numbers[6] = ("Seven");
    numbers[7] = ("Eight");
    numbers[8] = ("Nine");
    numbers[9] = ("Ten");
    numbers[10] = ("Eleven");
    numbers[11] = ("Twelve");
    numbers[12] = ("Thirteen");
    numbers[13] = ("Fourteen");
    numbers[14] = ("Fifteen");
    numbers[15] = ("Sixteen");
    numbers[16] = ("Seventeen");
    numbers[17] = ("Eighteen");
    numbers[18] = ("Nineteen");
    numbers[19] = ("Twenty");

    TextView textView = (TextView) findViewById(R.id.usingArrayTextView);
    textView.setText(Arrays.toString(numbers));
}

}

布局文件

布局文件

并且输出很好我没有得到任何空指针异常

输出图像 随意询问是否有不清楚的地方。


推荐阅读