編輯:關於android開發
Android ViewPager裡的所有圖片設置監聽請看前一文章
為了省時所以2層菜單只做一個點擊任意圖片後顯示相應圖片的活動
關鍵點是每個點擊對應的圖片如何傳參給顯示的活動
因為只啟動一個活動,所以要把對應要顯示的圖片告訴活動,顯示圖片的代碼
demoimageview = (ImageView) findViewById(R.id.demoimageView); demoimageview.setImageResource(imageid);
那就是要把顯示的圖片ID傳過去,但是ViewPager裡的圖片都是在布局裡設置好的
如何設置對應要顯示的圖片呢,如果在布局那裡把要顯示的圖片寫好,用的時候讀出來不就行了.
查資料後有個android:tag可用,再查有SetTag()和GetTag(),什麼都可放,但是SetTag()要在
代碼裡執行,不想為每個圖片都執行一次,只想增加android:tag,但參考下面例子發現android:tag
好像只能放字符串
http://blog.csdn.net/xxyy888/article/details/47019143
自己嘗試這樣寫 android:tag="@drawable/tuijian_01" GetTag()後轉成int,但傳過去發生錯誤
多次測試後決定用字符串來判斷,找到通過字符串查找圖片資源ID的方法
http://blog.csdn.net/wo550415979/article/details/8786577
http://www.tuicool.com/articles/7vmaUrv
最終解決問題
布局裡
android:id="@+id/page1_item1" android:tag="tuijian_d01"
tuijian_d01就是想要對應ID顯示的圖片名,先設置監聽,通過ID來判斷然後GetTag,得到字符串
然後查找圖片資源ID,傳參,啟動活動,代碼如下
監聽的代碼,所有點擊都啟動同一活動
@Override public void onClick(View view) { switch(view.getId()){ case R.id.mainpagelogo: mOpenTabHost.setCurrentTab(1); break; default: //Toast.makeText(this,"Click ok"+view.getId(), Toast.LENGTH_SHORT).show(); Intent intent = new Intent(this, DemoImageViewActivity.class); //從布局中取Tag Object tag = view.getTag(); //如果沒有設置Tag就退出 if (tag == null) { break; } String test = tag.toString(); //ctx.getPackageName() //Context ctx = getBaseContext(); //通過字符串查找圖片資源ID,如果this出錯就有上面的方法 int imageid = getResources().getIdentifier(test, "drawable", this.getPackageName()); //把取到的ID傳到下個活動 intent.putExtra("ImageID", imageid); startActivity(intent); break; } }
啟動的活動
public class DemoImageViewActivity extends Activity { private ImageView demoimageview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_demo_image_view); Intent intent = getIntent(); int imageid = intent.getIntExtra("ImageID", 0); if (imageid == 0) { finish(); } demoimageview = (ImageView) findViewById(R.id.demoimageView); demoimageview.setImageResource(imageid); demoimageview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } }
Android 6.0 運行時權限處理,android6.0在運行時請求權限 從Android 6.0(API級別23)開始,用戶權限授予應用程序在應用程序運行時,當他們
Android筆記——Android中數據的存儲方式(三),android筆記 Android系統集成了一個輕量級的數據庫:SQLite,所以Android對數據庫的支
Android入門(一),Android入門(原文鏈接:http://www.orlion.ga/387/ 一、安卓的系統架構 &nb
百度地圖開發的學習(一),百度地圖開發學習由於項目需求緣故,最近在學習Android地圖的開發,所以就記錄一下學習過程。最近都會陸續更新啦。目前使用百度地圖API的挺多的