私はAndroidアプリケーション開発の初心者です。オンライン資料を通じて学習します。私は1ヶ所で立ち往生しているアプリを開発しています。 参加人数はlayout1に基づいています。私は非常に多くの人々の入力を得るために私が設計したカスタムフォーム(layout2で表示)を生成したいと思います。 アレイアダプタとインフレータのコンセプトを使用してカスタムレイアウトをListViewに表示しようとしましたが、できませんでした。私の所望の出力はLayout3に取り付けたとして、私は私の希望出力に含まを作成するように私はこれをやっている参加者のないとLayout1からナビゲートした後layout3カスタムフォームレイアウトのリストを作成して、入力した数に基づいて詳細を入力してください
に示されています。これらは私が試してみたものですが、コードがameateurであれば許してください。これを完了する方法を見つけるのを手伝ってください、あなたの助けに感謝します。
Layout3Activity
public class Layout3Activity extends Activity{
//
//
//
ListView listView;
FriendsLayoutAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout3);
listView = (ListView) findViewById(R.id.listView1);
adapter = new FriendsLayoutAdapter(getApplicationContext(),R.layout.layout2);
listView.setAdapter(adapter);
}
//
//
//
//
}
layout2.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="160dp"> <!-- setting layout height to 160dp so that it only fits in the box we have created-->
<TextView
android:text="Friend i"
android:textAppearance="?android:textAppearanceLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/friendLabel"
android:layout_above="@+id/nameEditText"
android:layout_alignStart="@+id/nameTextView"
android:layout_marginBottom="15dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Name here..!!"
android:id="@+id/nameEditText"
android:layout_toRightOf="@+id/nameTextView"
android:layout_alignBaseline="@+id/nameTextView"
android:layout_alignBottom="@+id/nameTextView"
android:layout_centerHorizontal="true"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Amount Spent..!!"
android:id="@+id/amountEditText"
android:layout_toRightOf="@+id/amountTextView"
android:layout_alignBaseline="@+id/amountTextView"
android:layout_alignBottom="@+id/amountTextView"
android:layout_centerHorizontal="true"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp" />
<TextView
android:text="Amount:"
android:textAppearance="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:id="@+id/amountTextView"
android:layout_marginTop="17dp"
android:layout_below="@+id/nameEditText"
android:layout_alignParentStart="true" />
<TextView
android:text="Name:"
android:textAppearance="?android:textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:id="@+id/nameTextView"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/amountTextView" />
<!--<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@+id/amountEditText"
android:background="@color/jetBlack">
</View>-->
</RelativeLayout>
layout3.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
FriendsLayoutAdapter
public class FriendsLayoutAdapter extends ArrayAdapter{
String[] friends = {"Friend 1", "Friend 2","Friend 3","Friend 4"};
public FriendsLayoutAdapter(Context context, int resource) {
super(context, resource);
}
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.entries_layout,viewGroup,false);
TextView friendLabel = (TextView) view.findViewById(R.id.friendLabel);
TextView name = (TextView) view.findViewById(R.id.nameTextView);
TextView amount = (TextView) view.findViewById(R.id.amountTextView);
EditText nameEdit = (EditText) view.findViewById(R.id.nameEditText);
EditText amountEdit = (EditText) view.findViewById(R.id.amountEditText);
return super.getView(i, view, viewGroup);
}
//
//
//
}
、私が試した、** Unfortunaleyアプリケーションは、その活動に入るに来る**が停止しています。その他のソリューション。 layout1、layout2、layout3をご覧ください。レイアウト3で述べたように、アダプタに結果を返す –