Немного сложно отладить, но я думаю, когда вы делаете это:
mainchield=(LinearLayout)findViewById(R.id.mainchield);
Вы получаете NULL
, потому что идентификатор R.id.mainchield
отсутствует в вашем текущем контенте (setContentView(R.layout.main);
)
Вы должны надуть это из XML, что-то вроде этого
inflatedView = (LinearLayout) View.inflate(this, R.layout.childview, null);
И тогда у вас есть настоящий xml.