2012-04-24 14 views
0

こんにちは私はそこに2つの画像を持つギャラリーを持っています。私はレイアウトの名前を変更するためにイメージをテキストビューに変更するたびに欲しい。私のコードでは初めてのことであり、そのままです。ギャラリー上の画像の変更textview update

public class BrowseActivity extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.browse_activity_layout); 

    Gallery gallery = (Gallery) findViewById(R.id.browseActivityGallery); 
    gallery.setAdapter(new ImageAdapter(this)); 
    gallery.setSpacing(0); 
} 
public class ImageAdapter extends BaseAdapter { 
    int mGalleryItemBackground; 
    private Context mContext; 

    private Integer[] mImageIds = { 

      R.drawable.building_a, 
      R.drawable.building_b, 

    }; 

    public ImageAdapter(Context c) { 
     mContext = c; 
     TypedArray attr = mContext.obtainStyledAttributes(R.styleable.browseActivityGalleryStylable); 
     attr.recycle(); 
    } 

    public int getCount() { 

     return mImageIds.length; 
    } 

    public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     TextView browseActivityTitleTextView = (TextView)findViewById(R.id.browseActivityTitleTextView); 

      if(position == 0){ 
       browseActivityTitleTextView.setText(" Α'"); 
      } 
      if(position == 1){ 
       browseActivityTitleTextView.setText(" Β'"); 
      }   

     ImageView imageView = new ImageView(mContext); 
     imageView.setImageResource(mImageIds[position]); 
     imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
     return imageView; 
    } 
} 
} 

私はギャラリーをスワイプすると「それが必要としてではなく、私は戻ってスワイプするとき、それはBのまま」それはBに変更 誰もがこの問題を解決する方法を知っていますか?

答えて

1

BaseAdapterからテキストを変更するのではなく、リスナーをギャラリーに追加してそのように変更する必要があります。また、onCreateメソッドでtextviewへの参照を見つける必要があります。

private TextView browseActivityTitleTextView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.browse_activity_layout); 

browseActivityTitleTextView = (TextView)findViewById(R.id.browseActivityTitleTextView); 

Gallery gallery = (Gallery) findViewById(R.id.browseActivityGallery); 
gallery.setAdapter(new ImageAdapter(this)); 
gallery.setSpacing(0); 

gallery.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View arg1, 
       int position, long arg3) {    

      switch(position){ 
      case 0: 
       browseActivityTitleTextView.setText(" Α'"); 
       break; 
      case 1: 
       browseActivityTitleTextView.setText(" B'"); 
       break; 
      } 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) {} 
    }); 

} 
+0

ご協力いただきありがとうございます。 –

関連する問題