【问题标题】:displaying results of OnItemClickListener on a different activity在不同的活动上显示 OnItemClickListener 的结果
【发布时间】:2013-09-01 16:06:08
【问题描述】:

我使用 OnItemClickListener 从列表视图中选择一个项目,如下所示:

    listView.setTextFilterEnabled(true);

    final TextView disp = (TextView) findViewById(R.id.textView1); 
    listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
        String temp = (String) listView.getItemAtPosition(position);
        disp.setText(temp);// display on screen
        Toast.makeText(getBaseContext(),temparr.get(position),Toast.LENGTH_SHORT).show();
    }
    });

现在我想在另一个活动中显示结果。我怎样才能实现它?

【问题讨论】:

  • 通过 Intent 发送 temp 到您想要的活动。
  • 将它们添加为一个意图并将其传递给另一个活动
  • 好的,我正在尝试

标签: android android-listview onitemclicklistener


【解决方案1】:

在你的点击监听器中写这个

Intent myIntent = new Intent(YourCurentActivity.this, SecondActivity.class);
myIntent.putExtra("key", temp);
startActivity(myIntent);

在第二个活动中这样做-

   Bundle extras = getIntent().getExtras();
if(extras!=null)
{
 String temp = extras.getString("key");
 textview.setText(temp);
}   

【讨论】:

    【解决方案2】:

    使用意图

    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
        String temp = (String) listView.getItemAtPosition(position);
        // or String temp = (String) arg0.getItemAtPosition(position);
        disp.setText(temp);// display on screen
        Intent i = new Intent(ActivityName.this,SecondActivity,class);
        i.putExtra("key",temp);
    }
    });
    

    在第二活动中

    有一个文本视图

    Bundle extras = getIntent().getExtras();
    if(extras!=null)
    {
         String value = extras.getString("key");
         // textview.setText(value);
    }  
    

    【讨论】:

      【解决方案3】:

      您可以将“putExtra”添加到意图对象

      intent.putExtra("listViewItem", temp);
      startActivity(intent);
      

      并在第二次活动使用中恢复它:

      listViewItem= getIntent().getExtras().getString("listViewItem");
      

      【讨论】:

        【解决方案4】:
         @Override
        public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
        String temp = (String) listView.getItemAtPosition(position);
        disp.setText(temp);// display on screen
        
        Bundle bund = new Bundle();
        
        bund.putString("YourKey",disp);
        
        Intent intent = new Intent(CurrentActivity.this,NextActivity,class);
        intent.putExtra(bund);
        
        startActivity(intent);
        

        } });

        NextActivity.class

        Bundle data = getIntent().getExtras();
        
        if(data!=null)
           String temp = data.getString("YourKey");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-01
          相关资源
          最近更新 更多