亲爱 当我在我的类文件中扩展listactivity时,如何在自定义列表上方显示文本..代码如下所示..
public class ServerResponce extends ListActivity {
private ArrayList<listobj> tobj = new ArrayList<listobj>();
static String str1;
PickUpLocation pickup=new PickUpLocation();
String pickuplocid= pickup.locationid;
String des=planner.description;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
**//here not work force close**
// ****setContentView(R.layout.list_item);
**// TextView tv = (TextView)findViewById(R.id.text1);
// tv.setText("i want to book a cab for 4 hr/40km from sushant lok to delhi air port at" +
// "4 pm today"
// +"the cab should be 4 seater compact cab with carriage");
// tv.setBackgroundColor(R.color.black);**
//
new MyTask().execute();
}
private class MyTask extends AsyncTask<Void, Void, Void>
{
private ProgressDialog progressDialog;
protected void onPreExecute() {
progressDialog = ProgressDialog.show(ServerResponce.this,
"", "Loading. Please wait...", true);
}
protected void onProgressUpdate(Integer... integer){
TextView tv = null;
tv.setText("gjh");
}
@Override
protected Void doInBackground(Void... arg0) {
try {
URL url = new URL("http://qrrency.com/mobile/j2me/cab/CabBookingStatus.php?requestid=666");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
int l=0;
int k=0;
StringBuffer buffer=new StringBuffer();
String str=" ";
while ((l=in.read())!=-1)
{
buffer.append((char)l);
str=str+(char)l;
}
in.close();
//
try {
JSONObject json = new JSONObject(str);
JSONArray nameArray=json.getJSONArray("bookings");
JSONObject[] cabListing=new JSONObject[nameArray.length()];
for (int i = 0; i < cabListing.length; i++) {
//JSONObject jSONObject = cabListing[i];
JSONObject jSONObject = nameArray.getJSONObject(i);
listobj tweet = new listobj();
JSONObject temp=jSONObject.getJSONObject("booking");
tweet.cabid = temp.getString("cabbookingid");
tweet.author =temp.getString("CabDriverName");
tweet.content =temp.getString("price");
tweet.cabrat=temp.getString("cabrating");
tobj.add(tweet);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (MalformedURLException e)
{
} catch (IOException e)
{
}
return null;
}
@Override
protected void onPostExecute(Void result) {
progressDialog.dismiss();
setListAdapter(new tListAdaptor(
ServerResponce.this, R.layout.list_item, tobj));
}
}
private class tListAdaptor extends ArrayAdapter<listobj> {
private ArrayList<listobj> tobj;
public tListAdaptor(Context context,int textViewResourceId,ArrayList<listobj> items)
{
super(context, textViewResourceId, items);
this.tobj = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_item, null);
}
listobj o = tobj.get(position);
TextView tt = (TextView) v.findViewById(R.id.toptext);
TextView bt = (TextView) v.findViewById(R.id.bottomtext);
TextView bt1 = (TextView) v.findViewById(R.id.bottomtext1);
TextView bt2 = (TextView) v.findViewById(R.id.bottomtext2);
bt.setText("CAB NAME: " +o.author);
bt1.setText("CAB ID: " +o.cabid);
tt.setText("PRICE: " +o.content);
bt2.setText("CAB RATING: " +o.cabrat);
return v;
}
}
public String getItem(int position) {
// TODO Auto-generated method stub
return null;
}
}
xml文件是......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RelativeLayout xmlns:android= "http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="6dip">
<TextView android:id="@+id/text" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="false"
android:text=" "
android:textStyle="italic"
/>
<Button
android:text="auto book"
android:id="@+id/autobook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/text"/>
<Button
android:text="cancel"
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/text"
android:layout_toRightOf="@id/autobook"/>
</RelativeLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<TextView android:id="@+id/toptext" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text=" " />
<TextView android:id="@+id/bottomtext" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
<TextView android:id="@+id/bottomtext1" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:text=" " />
<TextView android:id="@+id/bottomtext2" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
您可以通过textview设置标题。它仍将采用与列表视图相同的格式,但列表视图中的顶部项目将是您的文本视图
答案 1 :(得分:0)
您的代码正在寻找R.id.text1
TextView tv = (TextView)findViewById(R.id.text1);
但是你的xml没有任何这样的id。
所以你会得到一个null的电视。