【发布时间】:2014-11-13 04:22:24
【问题描述】:
所以我最近开始着手进行 android 开发,经过一番摔跤和未能让这个工作我认为 id 由你们和 gals 运行它。我希望你们中的任何人都解决了类似的问题
我有一个片段,其布局是显示一个文本视图和一个项目列表,如下所示:
Historical data
Item1 20
item2 30
item3 40
这包括操作栏上的一个按钮,该按钮将允许用户添加更多项目和一个数字。我无法实现上述行为。我能够实现一个适配器,它最终显示如下:
Historical data
Item1 20
Historical data
item2 30
Historical data
item3 40
任何想法我该怎么做?
Myfragment.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:orientation="vertical" >
<TextView
style="?android:listSeparatorTextViewStyle"
android:textSize="18sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/weight_history_label" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:text="Weigh in Date" />
<TextView
android:id="@+id/amount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/item"
android:inputType="numberDecimal"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:paddingTop="4dp"
android:text="Weight Amount " />
</RelativeLayout>
</LinearLayout>
我有一类物品:
Items.java
public class NewEntry {
private String mName;
private int mNumber;
public NewEntry(){
....
}
getter/setter }
然后在我的fragment.java中
myFragment.java
public class MyFragment extends ListFragment {
private ArrayList<Items> mEntries;
MenuItem test;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//get all the entries and store them on mEntries
mEntries = EntriesLab.get(getActivity()).getWeighInEntries();
setHasOptionsMenu(true);
ItemAdapter adapter = new ItemAdapter(mEntries);
setListAdapter(adapter);
}
/interface to talk to activity
public interface onButtonClicked {
public void onWeighInButtonClicked(View v);
}
private class ItemAdapter extends ArrayAdapter<Items> {
public ItemAdapter(ArrayList<Items> items) {
super(getActivity(), 0, items);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// If we weren't given a view, inflate one
if (convertView == null) {
convertView = getActivity().getLayoutInflater()
.inflate(R.layout.Myfragment, null);
}
Items c = getItem(position);
TextView titleDateView =
(TextView)convertView.findViewById(R.id.name);
titleDateView.setText(c.getDate().toString());
// Log.i("WeighInFragment: ", "###current Weight " + c.getDate().toString());
TextView titleWeightView =
(TextView)convertView.findViewById(R.id.witem);
titleWeightView.setText(""+c.getWeight());
return convertView;
}
}
}
所以我想做的是只实现一次我的标签,然后显示项目列表!无论我尝试什么,我总是会得到一个列表: 标签 项目价值 标签 项目价值 标签 项目价值 ...
【问题讨论】:
标签: android android-layout android-fragments android-listview android-listfragment