怎么将string[] 数组中的字符串打印到屏幕上Textview模块中呢

怎么将string[] 数组中的字符串打印到屏幕上Textview模块中呢

就像下面这样

img

为啥我这样显示不出来

img

下面是我的java代码

package com.example.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.exercise2_5.R;
public class MainActivity extends AppCompatActivity {

    ImageView img;
    TextView text;
    Button btn1,btn2;
    private int[] imgs={
            R.drawable.a,
            R.drawable.b,
            R.drawable.c,
            R.drawable.d,
            R.drawable.e,
    };

    private String[] name ={
            "梅州围龙屋",
            "梅州梅江桥",
            "梅州市客天下景区",
            "梅州市灵光寺",
            "梅州土楼",
    };
    int index=0;
    int index01 = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img = findViewById(R.id.img);
        text = findViewById(R.id.text1);
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn1.setOnClickListener(new mClick());
        btn2.setOnClickListener(new mClick());
    }
    class mClick implements View.OnClickListener
    {
        public void onClick(View v)
        {
            if(v == btn1)
            {
                if(index>0&&index<=imgs.length)
                {
                    index--;
                    index01--;
                    text.setText("name[index01]");
                    img.setImageResource(imgs[index]);
                }else
                {
                    index =1;
                    index01 = 1;
                }
            }
            if(v == btn2)
            {
                if(index1)
                {
                    index++;
                    index01++;
                    text.setText("name[index01]");
                    img.setImageResource(imgs[index]);
                }else {
                    index =5;
                    index01 = 5;
                }
            }


        }

    }
}

这样改下
text.setText(name[index01]);

两个地方都改下

你是把数组中的某一个还是全部设置上去

该回答引用GPTᴼᴾᴱᴺᴬᴵ
您需要将name[index01]改为name[index01],即将双引号去掉,这样才能正确地显示数组中的字符串。因为双引号会被解释为一个普通的字符串而不是变量。下面是修改后的代码:


package com.example.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.exercise2_5.R;
public class MainActivity extends AppCompatActivity {

    ImageView img;
    TextView text;
    Button btn1,btn2;
    private int[] imgs={
            R.drawable.a,
            R.drawable.b,
            R.drawable.c,
            R.drawable.d,
            R.drawable.e,
    };

    private String[] name ={
            "梅州围龙屋",
            "梅州梅江桥",
            "梅州市客天下景区",
            "梅州市灵光寺",
            "梅州土楼",
    };
    int index=0;
    int index01 = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img = findViewById(R.id.img);
        text = findViewById(R.id.text1);
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn1.setOnClickListener(new mClick());
        btn2.setOnClickListener(new mClick());
    }
    class mClick implements View.OnClickListener
    {
        public void onClick(View v)
        {
            if(v == btn1)
            {
                if(index>0&&index<=imgs.length)
                {
                    index--;
                    index01--;
                    text.setText(name[index01]);
                    img.setImageResource(imgs[index]);
                }else
                {
                    index =1;
                    index01 = 1;
                }
            }
            if(v == btn2)
            {
                if(index<imgs.length-1)
                {
                    index++;
                    index01++;
                    text.setText(name[index01]);
                    img.setImageResource(imgs[index]);
                }else {
                    index =5;
                    index01 = 5;
                }
            }


        }

    }
}