2016-12-19 2 views
1

나는 안드로이드를 처음 사용하고 있습니다. 목록보기로 작업하는 응용 프로그램이 있고 각 목록보기 항목의 번호를 지정하고 싶습니다. 처럼안드로이드에 목록보기 항목에 숫자를 부여하는 방법

1 목록 항목

2 목록 항목

3 목록 항목

MainActivity.java

public class MainActivity extends AppCompatActivity { 
private OrderDbManager orderDbManager; 


private ListView listView; 

private SimpleCursorAdapter adapter; 

final String[] from = new String[] { OrderDbHelper.FOOD_NAME, 
     OrderDbHelper.QUANTITY, OrderDbHelper.PRICE }; 

final int[] to = new int[] {R.id.tvFoodName, R.id.tvItemQuantity, R.id.tvItemPrice }; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    orderDbManager = new OrderDbManager(this); 
    orderDbManager.open(); 

    final Cursor cursor = orderDbManager.fetch(); 

    listView = (ListView) findViewById(R.id.listView); 
    listView.setEmptyView(findViewById(R.id.empty)); 

    adapter = new SimpleCursorAdapter(this, R.layout.list_item, cursor, from, to, 0); 
    adapter.notifyDataSetChanged(); 

    LayoutInflater layoutInflater = getLayoutInflater(); 
        listView.addHeaderView(layoutInflater.inflate(R.layout.cart_header,listView, false)); 
    listView.setAdapter(adapter); 
    } 
    public class MyAdapter extends SimpleCursorAdapter { 
    public MyAdapter(Context context, int layout, Cursor c, 
    String[] from,int[] to) { 
     super(context, layout, c, from, to); 

    } 


    @Override 
    public int getCount() { 
     return 0; 
    } 

    @Override 
    public Object getItem(int arg0) { 
     return null; 
    } 

    @Override 
    public long getItemId(int arg0) { 
     return 0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater layoutInflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = layoutInflater.inflate(R.layout.list_item, null, true); 
     TextView txt= (TextView) convertView.findViewById(R.id.tvSlNo); 
     txt.setText(position + 1); 

     return convertView; 
    } 

    } 
} 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

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

list_item.xml는

<?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="wrap_content" 
android:layout_margin="5dp" 
android:minHeight="50dp" 
android:orientation="horizontal" 
android:weightSum="1"> 

<TextView 
    android:id="@+id/tvSlNo" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:textStyle="normal" 
    android:textColor="@android:color/black" 
    android:layout_weight="0.1" /> 

<TextView 
    android:id="@+id/tvFoodName" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="0.5" 
    android:gravity="center" 
    android:textStyle="normal" 
    android:textColor="@android:color/black" 
    android:text=""/> 


<TextView 
    android:id="@+id/tvItemQuantity" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="0.15" 
    android:textStyle="normal" 
    android:textColor="@android:color/black" 
    android:gravity="center"/> 

<TextView 
    android:id="@+id/tvItemPrice" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="0.25" 
    android:gravity="center" 
    android:textStyle="normal" 
    android:textColor="@android:color/black" 
    android:text=""/> 
    </LinearLayout> 

내가 tvSlNo에 번호 설정하려는. 도와주세요

+0

어댑터를 게시하십시오. –

+0

SimpleCursorAdapter를 사용하고 있으며 다른 어댑터 클래스가 없습니다. – Rohith

+0

목록을 채우기 위해 직접 어댑터를 작성해야 목록을보다 잘 제어 할 수 있습니다. 인터넷을 통해 많은 예제가 있습니다. –

답변

0

listViewAdapter의 getView() 메소드에서 position 변수를 사용하고 TextView에 설정하면됩니다. 0으로 시작하기 때문에 위치에 1을 더해야 할 수도 있습니다. 따라서 (position + 1)을 사용하고 TextView로 설정하십시오.

관련 문제