Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 微调器不显示元素_Java_Android - Fatal编程技术网

Java 微调器不显示元素

Java 微调器不显示元素,java,android,Java,Android,我试图将元素(名称)从JSONArray复制到ArrayList,然后从ArrayList复制到Spinner。我没有收到任何错误消息,但在执行时Spinner没有显示任何元素。微调器如何显示元素 package com.example.klarity; import java.util.ArrayList; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; impo

我试图将元素(名称)从JSONArray复制到ArrayList,然后从ArrayList复制到Spinner。我没有收到任何错误消息,但在执行时Spinner没有显示任何元素。微调器如何显示元素

package com.example.klarity;

import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

 import android.os.Bundle;
 import android.support.v7.app.ActionBarActivity;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.widget.ArrayAdapter;
 import android.widget.Spinner;

 import com.example.klarity1.R;

  public class MainActivity extends ActionBarActivity {

  Spinner practiceSpin;
  Spinner projectSpin;
  JSONObject projDet;
  JSONArray projArr;
  ArrayList<String> arrData=new ArrayList<String>();
  int[] project;



  public final static String JSON_DATA =
          "{" 
                   + "  \"project\": [" 
                   + "    {"                  
                   + "      \"name\": \"xxxx\""                   
                   + "    }," 
                   + "    {" 
                   + "      \"name\": \"yyyy\"" 
                   + "    },"                                                   //JSONArray created
                   + "    {" 
                   + "      \"name\": \"zzzz\""
                   + "    },"
                   + "    {" 
                   + "      \"name\": \"hhhh\""
                   + "    }"
                   + "  ]" 
                   + "}"; 


   @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    try {
           projDet=new JSONObject(JSON_DATA);
           projArr=projDet.getJSONArray("project");

           ArrayList<String> arrData=new ArrayList<String>();
           for(int n = 0; n < projArr.length(); n++)
           {
               //JSONObject projDet = projArr.getJSONObject(n);
                arrData.add(projArr.getJSONObject(n).getString("name"));
           }


        } catch (JSONException e) {
            e.printStackTrace();
            System.out.println(e.getMessage());
            System.out.println("exception occured");
        }


    try {
        practiceSpin=(Spinner) findViewById(R.id.spinnerPractice);
        ArrayAdapter<CharSequence> ar=   ArrayAdapter.createFromResource(this,R.array.practices ,android.R.layout.simple_list_item_1);
        ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        practiceSpin.setAdapter(ar);

        /*projectSpin=(Spinner) findViewById(R.id.spinnerProject);
        ArrayAdapter<CharSequence> ar1= ArrayAdapter.createFromResource(this,R.array.projects  ,android.R.layout.simple_list_item_1);
        ar1.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        projectSpin.setAdapter(ar1);*/

        ArrayAdapter<String> adapter_proj = new ArrayAdapter<String>(this,R.array.projects, android.R.layout.simple_spinner_item,arrData);     //"The constructor ArrayAdapter<String>(MainActivity, int, int, JSONArray) 
         adapter_proj.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        projectSpin.setAdapter(adapter_proj); 
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
        System.out.println(e1.getMessage());
        System.out.println("exception occured in 2nd catch");
    }
    finally{

    }






}

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
   }
}
package com.example.klarity;
导入java.util.ArrayList;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.os.Bundle;
导入android.support.v7.app.ActionBarActivity;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.ArrayAdapter;
导入android.widget.Spinner;
导入com.example.klarity1.R;
公共类MainActivity扩展了ActionBarActivity{
纺纱工实习;
旋转器旋转;
JSONObject项目;
杰索纳雷·普罗贾尔;
ArrayList arrData=新的ArrayList();
国际[]项目;
公共最终静态字符串JSON_数据=
"{" 
+“\”项目\:[”
+ "    {"                  
+“\“名称”:\“xxxx”
+ "    }," 
+ "    {" 
+“\”名称“:\”yyyy“
+“},”//JSONArray已创建
+ "    {" 
+“\'name\”:\'zzzz\”
+ "    },"
+ "    {" 
+“\'name\”:\“hhh”
+ "    }"
+ "  ]" 
+ "}"; 
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
试一试{
projDet=新的JSONObject(JSON_数据);
projArr=projDet.getJSONArray(“项目”);
ArrayList arrData=新的ArrayList();
对于(int n=0;n
问题在于您的本地变量名为
arrData
:更换

ArrayList arrData=new ArrayList();

用这个

this.arrData=new ArrayList();
(删除ArrayList)

arrData
仅存在于第一个try-cacth块中,而在第二个try-catch块中,
arrData
实际上是类的字段。
我强烈建议您尽可能多地使用“this”以避免类似的问题。

为什么在创建时使用2个arraylist.1,在全局范围内使用1个。这就是创建问题您检查了arraylist后,总是返回空的arraylist,这就产生了问题。除此之外,您应该使用ArrayAdapter\u proj=new ArrayAdapter(这是android.R.layout.simple\u spinner\u项,arrData);设置适配器。只需查看您的parsing@MRX…是的,我解决了那个错误..只保留了1个全局arrayList..谢谢你的帮助..调试了代码..现在所有的JSONArray元素都进入了arrData ie arrayList。。