Java 从arrayadapter获取输入并在其他活动中逐个显示

Java 从arrayadapter获取输入并在其他活动中逐个显示,java,android,adapter,Java,Android,Adapter,假设我能够在适配器中添加播放器名称作为输入,然后在listview中显示它们。现在,我想显示用户刚刚在第二个活动中添加的这些名称,但不显示为列表视图。但是单一项目。我怎么能不说呢 在这里,我创建适配器并添加播放器名称: public class ZaidejaiActivity extends ActionBarActivity implements View.OnClickListener{ public Button mBtnIstrinti; public Button m

假设我能够在适配器中添加播放器名称作为输入,然后在listview中显示它们。现在,我想显示用户刚刚在第二个活动中添加的这些名称,但不显示为列表视图。但是单一项目。我怎么能不说呢

在这里,我创建适配器并添加播放器名称:

public class ZaidejaiActivity extends ActionBarActivity implements View.OnClickListener{
    public Button mBtnIstrinti;
    public Button mBtnPrideti;
    public Button mBtnPradeti;
    public EditText mYrasytiVarda;
    public ListView mZaidejai;

    ArrayList<String> list = new ArrayList<String>();
    ArrayAdapter<String> adapter;

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

        mBtnPradeti = (Button)findViewById(R.id.žaistiBtn);
        mBtnPradeti.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent pradetiZaidima = new Intent(v.getContext(), ZaidimasActivity.class);
                startActivity(pradetiZaidima);
            }
        });



        mBtnPrideti = (Button)findViewById(R.id.pridėtiBtn);
        mBtnPrideti.setOnClickListener(this);
        mYrasytiVarda = (EditText)findViewById(R.id.VardoYrasymoBtn);
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);

        // set the mZaidejai variable to your list in the xml

        mZaidejai=(ListView)findViewById(R.id.sarašas);
        mZaidejai.setAdapter(adapter);






    @Override
    public void onClick(View v) {
        String input = mYrasytiVarda.getText().toString();
        if(input.length() > 0)
        {
            // add string to the adapter, not the listview
            adapter.add(input);

            // no need to call adapter.notifyDataSetChanged(); as it is done by the adapter.add() method
        }else{
            AlertDialog alertDialog = new AlertDialog.Builder(this).create();
            alertDialog.setTitle("Klaida:");
            alertDialog.setMessage("Blogai yrašytas vardas");
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
// here you can add functions
                }
            });

            alertDialog.show();
        }
    }
公共类ZaidejaiActivity扩展了ActionBarActivity实现了View.OnClickListener{
公共按钮mBtnIstrinti;
公共按钮mBtnPrideti;
公共按钮mBtnPradeti;
公共编辑文本mYrasytiVarda;
公共列表视图mZaidejai;
ArrayList=新建ArrayList();
阵列适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidejai);
mBtnPradeti=(按钮)findViewById(R.id.žaistiBtn);
mBtnPradeti.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent pradetiZaidima=newintent(v.getContext(),ZaidimasActivity.class);
星触觉(pradetiZaidima);
}
});
mBtnPrideti=(按钮)findviewbyd(R.id.pridėtiBtn);
mBtnPrideti.setOnClickListener(这个);
mYrasytiVarda=(EditText)findViewById(R.id.VardoYrasymoBtn);
adapter=new ArrayAdapter(这是android.R.layout.simple\u expandable\u list\u item\u 1,list);
//将mZaidejai变量设置为xml中的列表
mZaidejai=(ListView)findViewById(R.id.sarašas);
mZaidejai.设置适配器(适配器);
@凌驾
公共void onClick(视图v){
字符串输入=mYrasytiVarda.getText().toString();
if(input.length()>0)
{
//将字符串添加到适配器,而不是listview
adapter.add(输入);
//无需调用adapter.notifyDataSetChanged();因为它是由adapter.add()方法完成的
}否则{
AlertDialog AlertDialog=新建AlertDialog.Builder(this.create();
alertDialog.setTitle(“Klaida:”);
setMessage(“Blogai yrašytas vardas”);
alertDialog.setButton(“确定”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
//在这里可以添加函数
}
});
alertDialog.show();
}
}
在这里,我想将添加的输入显示为单个值

public class ZaidimasActivity extends ZaidejaiActivity {

    ArrayList<String> listas = getIntent().getStringArrayListExtra("list");

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



    }
公共类ZaidimasActivity扩展了ZaidjaiActivity{
ArrayList listas=getIntent().getStringArrayListExtra(“列表”);
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidimas);
}

如何在上一个活动中从适配器获取上下文以及如何显示它们?

您要做的是将列表作为捆绑包传递给新活动。为适配器类创建一个getter方法以获取列表

 mBtnPradeti.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent pradetiZaidima = new Intent(v.getContext(), 
 ZaidimasActivity.class);
 pradetiZaidima.putExtra("playerList", adapter.getList());
            startActivity(pradetiZaidima);
        }
    });
然后在你发起的活动中

public class ZaidimasActivity extends ZaidejaiActivity {

ArrayList<String> listas;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_zaidimas);
    listas.getIntent().getExtras().getStringArrayList("playerList");
}
公共类ZaidimasActivity扩展了ZaidjaiActivity{
arraylistlistas;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidimas);
listas.getIntent().getExtras().getStringArrayList(“playerList”);
}

我认为这将对您有所帮助:出于某种原因,我正在为getList获取未解析的方法。而getIntent应用程序应该在适配器中创建一个getter方法。“为适配器类创建一个getter方法以获取列表。”