当用户在edittext中输入一些数字并单击按钮以在下一个活动中显示指定数量的列表项时,如何在android中显示listview项?

我在MainActivity1上有一个EditText和一个按钮,在MainActivity2上有一个ListView和TextView。 TextView仅用于让我知道下一个屏幕上正在传递值。


  MainActivity.java


package com.populatelist;
import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText edt = (EditText)findViewById(R.id.editText1);
        Button btn = (Button)findViewById(R.id.button1);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent myin = new Intent(MainActivity.this,MainActivity2.class);
                myin.putExtra("textbox", edt.getText().toString());
                startActivity(myin);
            }
        });

    }
}



  MainActivity2.java


package com.populatelist;

import android.support.v7.app.ActionBarActivity;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity2 extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_activity2);

        TextView tv = (TextView)findViewById(R.id.textView1);


        Intent myin2 = getIntent();
        String str = myin2.getStringExtra("textbox");

        tv.setText(str);
        final ListView lv = (ListView) findViewById(R.id.listView1);

        String[] arrStr = new String[] {
                "Hello World",
                "Hello India",
                "Hello Rajasthan",
                "Hello Jodhpur",
                "Hello Mujeeb"
        };

        final List<String> hello_list = new ArrayList<String>(Arrays.asList(arrStr));

        final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, hello_list);

        int n = Integer.parseInt(str);

            lv.setAdapter(arrayAdapter);

    }
}

最佳答案

您可以简单地在字符串数组的最后添加即将到来的值,例如

String[] arrStr = new String[] {
                "Hello World",
                "Hello India",
                "Hello Rajasthan",
                "Hello Jodhpur",
                "Hello Mujeeb",
                str
        };


它将显示输入值到列表视图的最后位置。

如果要添加新项目并显示旧项目,则必须将整个字符串数组传递给上一个活动,并将新值添加到最后一个位置,然后在开始下一个活动时传递它。通过使用此功能,您可以在listview上查看所有数据。

关于java - 当用户在文本框中输入一些数字时,如何显示 ListView 项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46954727/

10-12 07:40
查看更多