android - 如何在 setOnItemClickListener 上将 ListView 记录显示到第二个 ListView 中

标签 android listview

我已经创建了 ListView ,我想做的是当用户点击第一个 ListView 时,所选记录应该显示在第二个列表中,在我的代码中它显示在 TextView 中,但我想在第二个列表中显示该记录 ListView 所以请给我代码/想法如何做到这一点,因为我是 android 的新手..

public class MainActivity extends Activity {
String item[]=new String[]{"rk","kk","kk","ll","mm","uu"};
TextView tv,tv2,tv3,tv4,tv5;
List<TextView> arrayTV = new ArrayList<TextView>();
ListView li,li2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

li=(ListView)findViewById(R.id.listView1);
li2=(ListView)findViewById(R.id.listView2);

tv=(TextView)findViewById(R.id.textView1);
tv2=(TextView)findViewById(R.id.textView2);
tv3=(TextView)findViewById(R.id.textView3);
tv4=(TextView)findViewById(R.id.textView4);
tv5=(TextView)findViewById(R.id.textView5);

arrayTV.add(tv);
arrayTV.add(tv2);
arrayTV.add(tv3);
arrayTV.add(tv4);
arrayTV.add(tv5);

ArrayAdapter<String> adapter=new ArrayAdapter<String>   (this,android.R.layout.simple_list_item_1,android.R.id.text1, item);   
li.setAdapter(adapter); 
li.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) {
    // TODO Auto-generated method stub

    int itm=position;       
 Toast.makeText(getApplicationContext(),""+itm+""+li.getItemAtPosition(position),40).show();
    arrayTV.get(position).setText(""+li.getItemAtPosition(position));
}
  });   
 }

这是我的 XML:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rt"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="1"
    tools:context=".MainActivity" >

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" android:layout_weight=".5" >

</ListView>

最佳答案

在第一个 ListView 的onitemclick中为第二个 ListView 设置适配器

List<String> a = new ArrayList<String>();

     li.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) {

        String clickedItem =item[postion];
if(!a.contains(clickedItem))
        a.add(clickedItem);
        String[] newitem = new String[a.size()];
        a.toArray(newitem);
            ArrayAdapter<String> adapter=new ArrayAdapter<String>   (MainActivity.this,android.R.layout.simple_list_item_1,android.R.id.text1, newitem);   
                li2.setAdapter(adapter);
            }
              });

关于android - 如何在 setOnItemClickListener 上将 ListView 记录显示到第二个 ListView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25961588/

相关文章:

android - 更改单击的 recyclerview 项目的 View 背景颜色

android - 在 ListView 行之间画线

c# - 在页面加载时,使用 listview 和 datapager 导航到 listviewitem 所属的特定页面?

带有 Webview 的 Android JSON 自定义 ListView

Android - ListView中的Imageview如何减少滞后?

Android - map 叠加 onTouchEvent/onTap 如何操作?

java - 如何检查一个字符是否为空

java - 如何创建一个带有默认注释的抽象类?

java - SharedPreferences - 静态类中的静态字符串?

java - 在 Android 中使用 Listview 从 Firebase 搜索数据