在android中我可以用按钮制作简单的listview吗?

时间:2016-11-02 11:39:02

标签: android android-layout listview

我必须创建一个应该从网页解析JSONObject的应用程序 将其显示为带按钮的简单列表视图项(每个列表视图项应与按钮相邻)。

我用简单的listview和没有按钮的简单布局制作了这个应用程序。

       public class MainActivity extends Activity 

       {

       @Override
       protected void onCreate(Bundle savedInstanceState) 
       {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
       StrictMode.setThreadPolicy(policy);

       connect();
       }

       private void connect() 

       {
       String data;
       List<String> r = new ArrayList<String>();

       ArrayAdapter<String>adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,r);
       ListView list=(ListView)findViewById(R.id.listView1);
       list.setBackgroundColor(Color.BLUE);

       try 
        {
        DefaultHttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("http://192.168.1.97:89/Derdeery/Zaki.php");
        HttpResponse response = client.execute(request);
        HttpEntity entity=response.getEntity();
        data=EntityUtils.toString(entity);
        Log.e("STRING", data);
        JSONArray json=new JSONArray(data);
        for(int i=0;i<json.length(); i++)
        {

        JSONObject obj=json.getJSONObject(i);
        String name=obj.getString("Part_NAME");

        Log.e("name", name);


        r.add(name);

        list.setAdapter(adapter);

        }

        }              
        catch ( Exception e) {

       e.printStackTrace();
       }

       } }

然后我改变了布局,包括一个按钮。

但是在运行app之后,只出现了带有相邻按钮的第一个项目。

有人可以帮助我吗?

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="?android:attr/listPreferredItemHeight"

  android:padding="6dip">

  <Button
   android:id="@+id/button1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Button" />


   <LinearLayout
    android:orientation="vertical"

    android:layout_width="0dip"
    android:layout_weight="1"
    android:layout_height="fill_parent">

  <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" >

 </ListView>



 </LinearLayout>

 </LinearLayout>                 

1 个答案:

答案 0 :(得分:1)

您需要为此创建自定义适配器。此自定义适配器的布局将包含一个按钮和一个文本视图,该视图将为列表项充气。

使用此link获取更多信息