是否可以从TableRow
获取XML布局中的某些AsyncTask
?
我只需要获取它的位图。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/APs_layout"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
android:id="@+id/table1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff57200">
<TableRow
android:id="@+id/Aps_header_table_Row1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView41"
android:layout_width="220dp"
android:textSize="18dp"
android:text="SSID"
android:textColor="#000000"/>
<TextView
android:id="@+id/textView42"
android:layout_width="70dp"
android:gravity="center_horizontal"
android:textSize="18dp"
android:textColor="#000000"
android:text="channel"/>
<!--TextView
android:id="@+id/textView43"
android:layout_width="90px"
android:gravity="center_horizontal"
android:textSize="18dp"
android:textColor="#000000"
android:text="STRENTH"/-->
<ImageView
android:id="@+id/imageView1"
android:layout_height="30px"
android:layout_width="40dp"
android:src="@drawable/icon_wifi_bars"/>
<TextView
android:id="@+id/textView44"
android:layout_width="70px"
android:textSize="18dp"
android:textColor="#000000"
android:gravity="right"
android:text="quality"/>
<TextView
android:id="@+id/textView45"
android:layout_width="75px"
android:gravity="left"
android:textSize="18dp"
android:textColor="#000000"
android:text=" signal"/>
<!--TextView
android:id="@+id/textView46"
android:layout_width="90px"
android:gravity="center_horizontal"
android:textSize="18dp"
android:textColor="#000000"
android:text="SECURITY"/-->
<ImageView
android:id="@+id/imageView2"
android:layout_height="30px"
android:layout_width="30px"
android:src="@drawable/icon_wifi_lock"/>
<TextView
android:id="@+id/textView47"
android:layout_width="97px"
android:gravity="right"
android:textSize="18dp"
android:textColor="#000000"
android:text="mode "/>
<!--TextView
android:id="@+id/textView47"
android:layout_width="90px"
android:gravity="center_horizontal"
android:textSize="18dp"
android:visibility="gone"
android:textColor="#000000"
android:text="band"/-->
<ImageView
android:id="@+id/imageView3"
android:src="@drawable/icon_wifiabgn"
android:layout_height="30px"
android:layout_width="30px"/>
<TextView
android:id="@+id/textView47"
android:layout_width="150px"
android:gravity="center_horizontal"
android:textSize="18dp"
android:textColor="#000000"
android:text="mac"/>
</TableRow>
</TableLayout>
<ListView
android:id="@+id/wifi_networks_list"
android:layout_width="fill_parent"
android:fadeScrollbars="false"
android:layout_height="wrap_content"
android:layout_above="@id/controls"
android:layout_below ="@id/table1"
android:textColor="#000000"
android:textSize="18dp"
android:focusable="false"
android:clickable="false"
android:drawSelectorOnTop="false" />
<include
android:id="@+id/controls"
layout="@layout/buttons_bottom_with_relative" />
</RelativeLayout>
我只需要抓取标题的视图(Aps_header_table_Row1)。稍后我将提取它的位图。
答案 0 :(得分:1)
如果此XML尚未作为活动的contentview(来自setContentView)加载,则可以使用layoutInflater对其进行充气:
RelativeLayout layout = getLayoutInflater().inflate(R.layout.thisXmlFileName);
然后通过它的ID获取视图:
TextView header = (TextView)layout.findViewById(R.id.Aps_header_table_Row1)
答案 1 :(得分:1)
您可以将上下文的引用传递给AsyncTask:
public class MyTask extends AsyncTask<?, ? ,?> {
private Context mContext;
public MyTask(Context context) {
mContext = context;
}
}
使用这个新构造函数设置asyncTask:
MyTask task = new MyTask(this);
task.execute(...);
然后,您可以访问上下文以从asynctask中获取布局inflater:
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );