当前位置: 首页 > 知识库问答 >
问题:

在android中如何将字符串数组从一个类发送到另一个类

张玺
2023-03-14

主谋。该类字符串数组中的java存储所有值public string[]itemcodes;我要访问主目录的条目代码。JAVA

主要的JAVA

  JSONArray json = jArray.getJSONArray("mainmenu");
        list=(ListView)findViewById(R.id.mainmenulist);
         adapter=new MainMenulist(this, json);
         list.setAdapter(adapter);
           MainMenulist.java
      public class MainMenulist extends BaseAdapter {
protected static Context Context = null;
int i;
public String editnewmainmenu,menuname;
String qrimage;
Bitmap bmp, resizedbitmap;
Bitmap[] bmps;
Activity activity = null;
private LayoutInflater inflater;

private ImageView[] mImages;
String[] itemimage;
TextView[] tv;
String itemname,itemcode;
public String[] itemnames,itemcodes;
HashMap<String, String> map = new HashMap<String, String>();

public MainMenulist(Context context, JSONArray imageArrayJson) {
    Context = context;
    // inflater =
    // (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    // imageLoader=new ImageLoader(activity);
    inflater = LayoutInflater.from(context);
    this.mImages = new ImageView[imageArrayJson.length()];
    this.bmps = new Bitmap[imageArrayJson.length()];
    this.itemnames = new String[imageArrayJson.length()];
    this.itemcodes=new String[imageArrayJson.length()];

    try {

        for (i = 0; i < imageArrayJson.length(); i++) {
            JSONObject image = imageArrayJson.getJSONObject(i);
            qrimage = image.getString("menuimage");
            itemname = image.getString("menuname");
            itemcode=image.getString("menucode");
            itemnames[i] = itemname;
            itemcodes[i]=itemcode;

            byte[] qrimageBytes = Base64.decode(qrimage.getBytes());

            bmp = BitmapFactory.decodeByteArray(qrimageBytes, 0,
                    qrimageBytes.length);
            int width = 100;
            int height = 100;
            resizedbitmap = Bitmap.createScaledBitmap(bmp, width, height,
                    true);
            bmps[i] = bmp;

            mImages[i] = new ImageView(context);
            mImages[i].setImageBitmap(resizedbitmap);

            mImages[i].setScaleType(ImageView.ScaleType.FIT_START);

            // tv[i].setText(itemname);
        }
        System.out.println(itemnames[i]);
        System.out.println(map);

    } catch (Exception e) {
        // TODO: handle exception
    }
}

public int getCount() {
    return mImages.length;
}

public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

public View getView(final int position, View convertView, ViewGroup parent) {

    View vi = convertView;

    vi = inflater.inflate(R.layout.mainmenulistview, null);

final   TextView text = (TextView) vi.findViewById(R.id.menutext);
    ImageView image = (ImageView) vi.findViewById(R.id.menuimage);

    System.out.println(itemcodes[position]);
    image.setImageBitmap(bmps[position]);

    text.setText(itemnames[position]);
    text.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(itemcodes[position].equals("1"))
            {
                Intent intent = new Intent(Context, FoodMenu.class);
                System.out.println("prakash");

                Context.startActivity(intent);
            }
            else {
                Toast.makeText(Context, "This Feauture is not yet Implemented",4000).show();
            }

        }
    });       

    return vi;

}

    }

主谋。java系统。出来println(项目代码[位置]);我在这里打印所有代码。不,我想在Main中打印相同的结果。JAVA

共有2个答案

戚阳
2023-03-14
There are two ways to do this:

In your code:

    public String[] itemnames,itemcodes; make that arrays as static like below

    public static String[] itemnames,itemcodes; 

And then use `Main.java` file by calling:

    System.out.println(MainMenulist.itemcodes[position]);
    System.out.println(MainMenulist.itemnames[position]);

2) Parse JSON in Main.java which you have pass to MainMenulist.java

    public MainMenulist(Context context, JSONArray imageArrayJson) 
华良平
2023-03-14

为您的数组(itemname)编写一个bean,实现serlizable,编写setter和getter方法,如下所示

class Bean implements Serializable{
    String itemnames[];

    public Hashtable getItemnames() {
        return itemnames;
    }

    public void setItemnames(String itemnames[]) {
        this.itemnames= itemnames;
    }

}

并在调用活动中编写愚蠢的代码

 Bean b = new Bean();
    b.setItemnames(itemnames);

    Intent i=new Intent();
    i.setClass(A.this,B.class);
    i.putExtra("itemnames", b);
    startActivity(i);

并在调用的活动中检索,如下所示

Bean obj = (Bean) getIntent().getSerializableExtra("itemnames");// TypeCasting 
String itemname[] = (Hashtable) obj.getItemnames();
 类似资料:
  • 我在活动2中有一个字符串 我想在activity1的文本字段中插入此字符串。我该怎么做?

  • 我在一个类中有一个imageView,在单击imageView时,会出现一个对话框,它有两个选项,可以从相机中获取图像,也可以打开设备的图像库。我想将图像从一个类发送到另一个类,这样它就可以出现在ImageView中。我搜索了很多小时,但我只得到关于从一个类到另一个类的文本数据发送。谁能告诉我从一个类到另一个类的图像发送? 这是来自sender类的代码,它将获取图像。 谢谢你的帮助

  • 我有两个字符串str1和str2。我试图用字符把一些字母从一个字符串复制到另一个字符串。我知道我可以使用字符串复制,但我想要一些字符,而不是全部字符。 在Java中,如何将子字符串从一个字符串复制到另一个字符串?

  • 问题内容: 除了以下内容外,我想要一种有效的方法来在Python中将一个字符串附加到另一个字符串。 有什么好的内置方法可以使用吗? 问题答案: 如果你仅对一个字符串有一个引用,并且将另一个字符串连接到末尾,则CPython现在会对此进行特殊处理,并尝试在适当位置扩展该字符串。 最终结果是将操作摊销O(n)。 例如 过去是O(n ^ 2),但现在是O(n)。 从源(bytesobject.c): 凭

  • 以下是传入的JSON: 这里的JSONObject[“time”]不是字符串是我将它放入JSONArray时遇到的错误