2016-01-21 53 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