java - 如何从android中的 ListView 中获取整数值?

标签 java android

我创建了一个 ListView ,它包含整数值。我已将它们设置在 TextView 中,现在我需要从另一个布局获取这些整数值并将其传递给另一个 Activity !我怎样才能做到这一点?请帮助我,我是 android 新手。

     private void viewFunction() {

        Button messageButton=(Button)findViewById(R.id.btnCreate);
           messageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           ;
         Units units=new Units(dbHandler.getUnitsCount(),String.valueOf(myTry.getText()),String.valueOf(bulbSpn.getSelectedItem()),String.valueOf(fanSpn.getSelectedItem()));
                  //addUnits(0,myTry.getText().toString(),bulbSpn.getSelectedItem().toString(),fanS       pn.getSelectedItem().toString());
             if(!unitExsits(units)) {
              dbHandler.createUnit(units);
              Unit.add(units);
              unitsAdapter.notifyDataSetChanged();

         //   populateList();
         //   startActivity(new Intent(getApplicationContext(),HomePage.class));

        Intent intent_valueBulb = new Intent(CreateNewUnit.this,
                  HomePage.class);
            intent_valueBulb.putExtra("key2",noOfBulb);
            intent_valueBulb.putExtra("keyFan",noOfFan);
            startActivity(intent_valueBulb);




                         Toast.makeText(getApplicationContext(),String.valueOf(myTry.getText())+"has been    added to units",Toast.LENGTH_SHORT).show();
        }
            else {

              Toast.makeText(getApplicationContext(), String.valueOf(myTry.getText()) + " already exists !!! Please use a different name!", Toast.LENGTH_SHORT).show();
          }
          }
    });

}

        @Override
         public View getView(int position, View view, ViewGroup parent) {

        if (view == null) {
            view = getLayoutInflater().inflate(R.layout.listview_item,parent     ,false);

        }

        Units currentUnit = Unit.get(position);
        TextView name = (TextView)view.findViewById(R.id.lblLUnitName);
        name.setText(currentUnit.getName());

        TextView bulb=(TextView) view.findViewById(R.id.lblLNoofBulbs);
        bulb.setText("Number of Bulbs :"+currentUnit.getBulbNo());
        TextView fan=(TextView) view.findViewById(R.id.lblLNoOfFans);
        fan.setText("Number of Fans :"+currentUnit.getFanNo());


        return  view;
    }

最佳答案

如果要将列表的内容存储在变量中,可以调用 getCount 来确定列表的大小,然后执行 for 循环将每个项目添加到 ArrayList 中。

ArrayList<Integer> numbers = new ArrayList<Integer>();
int size = myList.getAdapter().getCount();
    for(int i = 0; i < size; i++)
    {
        numbers.add((Integer) myList.getAdapter().getItem(i));
    }

如果您尝试存储用户选择的列表项,则需要实现 onItemClickListener,然后使用列表中的索引从适配器中获取所选项目:

myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        //this is what happens when an item in the list is clicked
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            //the location of the selected item is stored in i
            //use this location to pull the value and store it in a variable

            int selectedNumber = (Integer) adapterView.getAdapter().getItem(i);

            //you now have the chosen number stored in a variable
        }
    });

关于java - 如何从android中的 ListView 中获取整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29215364/

相关文章:

java - 如何使用 Jericho HTML 解析器获取特定标签之间的文本和其他标签?

java - 我在声明变量时犯了错误吗?

android - 如何删除以编程方式添加新联系人时添加的Android Contacts App中的重复条目?

android - 如何锁定/卡住 CameraX 预览纹理 View ?

android - 如何更新 Android 媒体数据库

Android登录注册中java.lang.String无法转换为JSONObject

java - 如何从 JPanel 中删除 RigidArea

java - findViewById 在 LinearLayout 上返回 null

Java语句,处理优先级("dangling else")

java - 在Android中实现树状 View