2014-09-21 150 views
0

显示列表视图纪录的TextView我创建简单的列表视图中,我想要做的是,当在列表视图用户点击,选择的记录应该在我的代码文本视图显示它正常工作,但问题是,当用户再次点击我要显示在第二个文本认为,创纪录的,请给我的想法/代码怎么办this..please请帮我...我在android系统是新..如何在setOnItemClickListener

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

    li=(ListView)findViewById(R.id.listView1); 
    tv=(TextView)findViewById(R.id.setText);\ 
    tv1=(TextView)findViewById(R.id.setText1); 
    tv2=(TextView)findViewById(R.id.setText2); 
    tv3=(TextView)findViewById(R.id.setText3);  
    tv4=(TextView)findViewById(R.id.setText4);  

    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(); 
     tv.setText(""+li.getItemAtPosition(position)); 
    } 
}); 
+0

你有多少个TextViews? – 2014-09-21 10:57:18

+0

当用户选择一个记录显示它在第一个文本视图,当用户选择它应该显示在第二个文本视图等.. – Ravi 2014-09-21 11:00:04

+0

从你的代码中只有一个TextView的 – 2014-09-21 11:00:28

回答

0

我希望我能理解你的权利。您希望不同的文字视图具有文字,具体取决于它被点击的字符串的数量。如果是这样,请设置一个静态计数器来计算它被点击的次数。在您的OnItemClick增加此计数器并检查它的值,然后根据它的值设置TextView的文本。

@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(); 
    if (myCounter >=2){ 
     someTextView.setText(""+li.getItemAtPosition(position)); 
    }else{ 
     anotherTextView.setText("blabla")' 
     } 
} 

编辑:让一个ArrayList以正确的顺序持有TextViews。使用OnItemClick中给出的位置int,您可以取出正确的TextView并在它们上使用.setText!

+0

,请检查一下我更新了我的代码,我创建了5个文本视图,现在当上列表视图用户点击第一行就应该显示在第一个文本视图,当列表视图用户点击第二排它应显示在第二个文本视图.. – Ravi 2014-09-21 11:09:05

+0

请检查我的编辑,看看它是否你需要 – daidaidai 2014-09-21 11:43:40

+0

如果我想在第二个列表视图中显示列表视图记录然后如何做到这一点.. – Ravi 2014-09-21 16:37:30

0

有很多方法可以对付它。

ArrayList<Boolean> firstTimers = new ArrayList<Boolean>(); 

for (Int I =0; I< item.length(); I++){ 
    firstTimers.add(false); 
    } 

li.setOnItemClickListener(new OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) { 
    // TODO Auto-generated method stub 

    if(!firstTimers.get(position){ 
     int itm=position;  
     Toast.makeText(getApplicationContext(),""+itm+""+li.getItemAtPosition(position),40).show(); 
      tv.setText(""+li.getItemAtPosition(position)); 
      firstTimers.set(position,true); 
     }else{ // show in other textview 
     } 
} 
}); 
相关问题