2016-01-21 57 views
2

最后的数据,我想整合卧式滚动视图的自定义线性布局inflater以我设置下面的代码的LinearLayout显示在机器人

for (int i=0;i<mArrayListPersonDataLists.size();i++) 
{ 
    View child = getLayoutInflater().inflate(R.layout.row_pager_layout, null); 
    TextView mTextView1=(TextView)child.findViewById(R.id.row_txt_name); 
    TextView mTextView2=(TextView)child.findViewById(R.id.row_txt_email); 
    TextView mTextView3=(TextView)child.findViewById(R.id.row_txt_gender); 
    mLinearLayout.removeAllViews(); 
    mTextView1.setText(mArrayListPersonDataLists.get(i).getName()); 
    mTextView2.setText(mArrayListPersonDataLists.get(i).getEmail()); 
    mTextView3.setText(mArrayListPersonDataLists.get(i).getGender()); 
    mLinearLayout.addView(child); 
} 
在上述我的数组列表

包括9点的数据,但在屏幕它显示只有一个数据所以任何想法如何解决这个问题?

+0

mLinearLayout.removeAllViews此功能();删除这条线,并检查 – Pavya

回答

1

线试试这个...

for (int i=0;i<mArrayListPersonDataLists.size();i++) 
{ 
View child = getLayoutInflater().inflate(R.layout.row_pager_layout, null); 
TextView mTextView1=(TextView)child.findViewById(R.id.row_txt_name); 
TextView mTextView2=(TextView)child.findViewById(R.id.row_txt_email); 
TextView mTextView3=(TextView)child.findViewById(R.id.row_txt_gender); 
mTextView1.setText(mArrayListPersonDataLists.get(i).getName()); 
mTextView2.setText(mArrayListPersonDataLists.get(i).getEmail()); 
mTextView3.setText(mArrayListPersonDataLists.get(i).getGender()); 
mLinearLayout.addView(child); 
child.setId(i+1) 
child.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
        //your code here 
        int position=child.getId()-1; 
        Toast.makeText(HorizontalAcivity.this, mArrayListPersonDataLists.get(position).getName(), Toast.LENGTH_SHORT).show();      
        } 
}); 
} 
+0

雅,但我怎么能写点儿位点内的粒子位置明智的价值? – user3264863

+0

当你点击视图(即子)时,你可以获得位置。因此,在onClicklistener中创建一个条件来检查哪个位置正在被触发并且执行动作.. – Vishwa

+0

我试试这个代码int pos = child.getId(); Toast.makeText(Horizo​​ntalAcivity.this,mArrayListPersonDataLists.get(pos).getName(),Toast.LENGTH_SHORT).show();但它给我错误像indexoutofbound – user3264863

1

删除与mLinearLayout.removeAllViews(); :)

+0

雅它工作!但我怎样才能获得物品点击颗粒物品? – user3264863

+0

你应该使用ListView而不是ScrollView。然后你可以使用'''ListView.setOnItemClickListener()''' – FeelGood

+0

你的答案也是对的,所以我给你一个投票 – user3264863

2

你应该写这样的

mLinearLayout.removeAllViews(); 
for (int i=0;i<mArrayListPersonDataLists.size();i++) 
{ 
    View child = getLayoutInflater().inflate(R.layout.row_pager_layout, null); 
    TextView mTextView1=(TextView)child.findViewById(R.id.row_txt_name); 
    TextView mTextView2=(TextView)child.findViewById(R.id.row_txt_email); 
    TextView mTextView3=(TextView)child.findViewById(R.id.row_txt_gender); 
    mTextView1.setText(mArrayListPersonDataLists.get(i).getName()); 
    mTextView2.setText(mArrayListPersonDataLists.get(i).getEmail()); 
    mTextView3.setText(mArrayListPersonDataLists.get(i).getGender()); 
    mLinearLayout.addView(child); 
} 
+0

你的答案也是对的,所以我给你1票 – user3264863