最初にこのリンクを参照してください:Learn SQLITE。上記のチュートリアルの助けを借りて
が科目 & 教師という名前の2つのテーブルを作成し、テーブルの構造は次のようになります。
件名:ID整数PRIMARY KEY AUTOINCREAMENT、NAMEテキスト、単位テキスト。
教師:ID整数プライマリキーオートインクリエート、名前テキスト、件名テキスト。
追加クラス対象。
第1番目にはサブネームがあり、第2にはユニットの数があります。ボタンをクリックして別の文字列で2つの値を取って、の科目テーブルに保存します。件名テーブルには次のようなレコードが含まれています:
Id Name Units
1 Subject-1 4
このようなレコードを含むようになりました。教師を追加して、あなたは教師の名前が入力されますのEditTextれる1つを有することになる
を割り当てについて
。 1つの選択ボタン、そのボタンのクリックで、私たちの科目表から科目のリストを表示することができます。
クリックしてOk
をクリックすると、選択した科目が表示されます。
は教師分離対象のコンマの .StoreだけIDを、ボタンのクリックを提出表に教師データを保存します。その後、そのIDだけで特定のものを参照します。今、先生のテーブルのようなデータ持つことになる
:教師
のリストについては
Id Name Subjects
1 daniel 1,2
は、私たちの教師のテーブルからリストを表示します。
EDIT 2:リストビューにリストを設定するための
このリンクを参照してください:How to set list in ListView+CheckBoxes
私はここにコンセプトまとめています:
手順:1
を あなたはcreatする必要があります水平方向にのみ配置TextViewのチェックボックスが含まれていますEA list_item.xml
レイアウト:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="6dip" >
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="CheckBox" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/checkBox1"
android:layout_alignBottom="@+id/checkBox1"
android:layout_toRightOf="@+id/checkBox1"
android:text="TextView" />
</LinearLayout>
ステップ:2あなたが設定されますあなたのリストの世話をされるアダプタを作成する必要が
リストビューに追加します。
public class MyCustomAdapter extends ArrayAdapter<Subject> {
private ArrayList<Subject> subList;
public MyCustomAdapter(Context context, int textViewResourceId,
ArrayList<Subject> subList) {
super(context, textViewResourceId, subList);
this.subList = new ArrayList<Subject>();
this.subList.addAll(subList);
}
private class ViewHolder {
TextView name;
CheckBox chk_box;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
Log.v("ConvertView", String.valueOf(position));
if (convertView == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.name = (TextView) convertView.findViewById(R.id.name);
holder.chk_box = (CheckBox) convertView.findViewById(R.id.checkBox1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Subject subject = subList.get(position);
holder.name.setText(subject.getSubName() + " - " + subject.getUnits());
return convertView;
}
}
ステップ - 3
このアダプタを設定して、あなたにMainActivtyでのListView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ListView
android:id="@+id/mylist"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
MainActivty.java:
別xml
activity_main.xmlを作成します。
public class MainActivity extends Activity {
ListView mylist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mylist = (ListView)findViewById(R.id.mylist);
mylist.setAdapter(new MyCustomAdapter(MainActivty.this,subjectList,R.layout.list_item));
}
}
@jankigadhiya申し訳ありませんが、今すぐコードを追加しました。 –
あなたの質問についてはっきりしてください。私はあなたが何をしようとしているのか理解できません。 –
@jankigadhiya 2つのEditTextを1つの配列に格納するアプリケーションを作ろうとしています。私はダイアログボックスを開くボタンを実装し、ダイアログボックスには入力された配列値のチェックボックスリストビューがあります。値を選択して送信すると、チェックボックスの選択したすべての値が別の画面に表示されます。それが私がやろうとしていることです。 –