編輯:關於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 運行時權限處理,android6.0在運行時請求權限 從Android 6.0(API級別23)開始,用戶權限授予應用程序在應用程序運行時,當他們
Android筆記——Android中數據的存儲方式(三),android筆記
Android筆記——Android中數據的存儲方式(三),android筆記 Android系統集成了一個輕量級的數據庫:SQLite,所以Android對數據庫的支
Android入門(一),Android入門(
Android入門(一),Android入門(原文鏈接:http://www.orlion.ga/387/ 一、安卓的系統架構 &nb
百度地圖開發的學習(一),百度地圖開發學習
百度地圖開發的學習(一),百度地圖開發學習由於項目需求緣故,最近在學習Android地圖的開發,所以就記錄一下學習過程。最近都會陸續更新啦。目前使用百度地圖API的挺多的