0
我有兩個版式一爲我的主要活動,第二次對我的自定義對話框,如下所示:Android的 - 參考layotu找到的元素,但將無法獲取元素
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFFFFF" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.51"
android:orientation="horizontal">
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/a1" />
<TextView
android:id="@+id/owner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="20dp"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
</LinearLayout>
</LinearLayout>
現在在我的主要活動我有onCreate方法:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
if(...)
{
...
if(...)
{
// Load the map
setContentView(R.layout.activity_map);
// Fetch dropdown list & gps button
spinner = (Spinner) findViewById(R.id.bankslist);
gps = (Button) findViewById(R.id.gpsbttn);
// When this runs both spinner & gps != null
// Now I register a listner for my GoogleMap object
map.setMapMarkerOnClickListener(new ShowDetails(this));
} else {
...
}
} else {
...
}
}
在我的主要活動我有延伸OnMapMarkerClickListener一個內部類:
class ShowDetails implements OnMarkerClickListener
{
private FragmentActivity context;
public ShowDetails(FragmentActivity context)
{
this.context = context;
}
public boolean onMarkerClick(Marker marker)
{
// Check if selected marker is mapped to a Atm
if(markers.containsKey(marker))
{
// Fetch ATM associated with marker
Atm atm = markers.get(marker);
// Create a new Dialog instance to display ATM
// associated data
Dialog msg = new Dialog(context);
msg.setContentView(R.layout.info_dialog);
msg.setTitle(atm.getOwner());
ImageView logo = (ImageView) context.findViewById(R.id.logo);
TextView owner = (TextView) context.findViewById(R.id.owner);
if(logo == null)
{
Log.w("ILG", "LOGO IS NULL");
}
}
return true;
}
}
在這個內部類中,我試圖獲取對info_dialog.xml佈局文件中包含的徽標和屬性屬性的引用,即使這兩者都在R中,我總是gett徽標/所有者== null。 findViewById(..)
永遠不會返回有效的對象。
在膨脹方法什麼是父母? –
我用.inflate(R.layout.info_dialog,null);取而代之的是,logo仍然是空的。 –
您使用過'root.findViewById()'嗎? – codeMagic