怎样用java代码透过图片名设置linearlayout的背景图片

怎样用java代码通过图片名设置linearlayout的背景图片
我想在自定义Myview类的类文件中通过图片名给Main_Activity的linearlayout设置背景图片,图片存在drawable文件夹里,
public class MainActivity extends Activity
{
protected void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

LinearLayout  in;
}

public void setbackgroundpicture(String imagename)
    {
     int resid=getResources().getIdentifier(imagename,"drawable","com.example.ybhy");
     //in.setBackground(getResources().getDrawable(resid));
     System.out.println(resid);
     in.setBackgroundResource(resid);
    
    }}

public class MyView extends View 
{
MainActivity ay;
public MyView(Context context, AttributeSet attrs) 
{
super(context, attrs);
ay = (MainActivity) context;
...
}

public boolean onTouchEvent(MotionEvent event) 
{
        ...
       db=dbhelp.getReadableDatabase();
       Cursor cur=db.rawQuery("select imgname from zipic where zi=?",new String[]{cs.toString()});

while(cur.moveToNext())
{
     String picname=cur.getString(cur.getColumnIndex("imgname"));
     System.out.println(picname);
     ay.setbackgroundpicture(picname);//出错
       }       
          ...
}

数据库里取出的图片名字是有的
LOgcat里面出现下面的错误:
05-05 08:46:07.789: I/  System.out(8560):      kou01
05-05 08:46:07.789: I/  System.out(8560):      2130837516
05-05 08:46:07.889: D/  dalvikvm(8560):        GC_FOR_ALLOC freed 1690K, 17% free 19108K/22791K, paused 69ms
05-05 08:46:07.934: I/  dalvikvm-heap(8560):   Grow heap (frag case) to 21.225MB for 2601952-byte allocation
05-05 08:46:08.168: D/  dalvikvm(8560):        GC_CONCURRENT freed 17K, 15% free 21631K/25351K, paused 8ms+26ms
05-05 08:46:08.469: D/  AndroidRuntime(8560):  Shutting down VM
05-05 08:46:08.469: W/  dalvikvm(8560):        threadid=1: thread exiting with uncaught exception (group=0x409961f8)
05-05 08:46:08.530: E/  AndroidRuntime(8560):  FATAL EXCEPTION: main
05-05 08:46:08.530: E/  AndroidRuntime(8560):  java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
05-05 08:46:08.530: E/  AndroidRuntime(8560):   at com.example.ybhy.MyView.onTouchEvent(MyView.java:207)

------解决方案--------------------
奇怪 为啥你放在res里的图片还要把信息存在数据库里?
直接用个数组或者放XML的Array里不就行了? 何必多此一举...

另外 每次触摸屏幕都要访问一次数据库...这...