こんにちは私は、ダイアログボックスで保存をクリックした後、自分のアクティビティでTextViewを設定します。 私は説明します。私の活動の 私はListViewコントロールがあります。ダイアログボックスで保存をクリックするとListViewのTextViewが変更される
<ListView
android:id="@+id/activityList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="15dp" />
をそして私は、このリストビューのための「行」のレイアウトを持っている:私は、リストの項目をクリックすると
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:padding="8dp"
/>
<TextView
android:id="@+id/hours"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:padding="8dp"
/>
、私はダイアログを開き、ダイアログにデータを渡します:
<EditText
android:id="@+id/hourUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal" />
:私は私のダイアログを開くと
private void createListActivities(){
AdapterJsonArray adapterActivities = new AdapterJsonArray(ReceiptsActivity.this, datas);
ListView listView = (ListView)findViewById(R.id.activityList);
assert listView != null;
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
try {
JSONObject data = datas.getJSONObject(position);
openDialogReceipt(data);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
listView.setAdapter(adapterActivities);
}
private void openDialogReceipt(final JSONObject activity) throws JSONException {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(Activity.this);
LayoutInflater inflater = Activity.this.getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.dialog_receipt_activity, null);
alertDialog.setView(dialogView);
alertDialog.setTitle("Time");
alertDialog.setMessage(activity.getString("property"));
alertDialog.setPositiveButton("Save", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
try {
/** get Text hour */
EditText hour = (EditText)dialogView.findViewById(R.id.hourUser);
assert hour != null;
// in this point I have to pass data to activity Item clicked in ListView
} catch (JSONException e) {
e.printStackTrace();
}
}
});
alertDialog.setNegativeButton("Cancella", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//pass
}
});
AlertDialog b = alertDialog.create();
b.show();
}
私はEDITTEXTを持っています
BaseAdapterを拡張して、私のAdapterJsonArrayでEDIT
:
public class AdapterJsonArray extends BaseAdapter implements ListAdapter {
private final Activity activity;
private final JSONArray jsonArray;
public AdapterJsonArray(Activity activity, JSONArray jsonArray) {
assert activity != null;
assert jsonArray != null;
this.jsonArray = jsonArray;
this.activity = activity;
}
@Override
public int getCount() {
return jsonArray.length();
}
@Override public JSONObject getItem(int position) {
return jsonArray.optJSONObject(position);
}
@Override
public long getItemId(int position) {
JSONObject jsonObject = getItem(position);
return jsonObject.optLong("id");
}
@Override public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) this.activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v;
if (convertView == null) {
v = inflater.inflate(R.layout.list_view_activities, null);
} else {
v = convertView;
}
TextView description = (TextView) v.findViewById(R.id.text);
try {
description.setText(jsonArray.getJSONObject(position).getString("property"));
} catch (JSONException e) {
e.printStackTrace();
}
// questionable logic
return v;
}
}
しかし、どのように私は、 "選択" し、ダイアログでコンパイルのEditTextとのTextViewの時間を設定し、リストビューの要素を設定することができますか?
AdapterJsonArrayクラスの内容を表示できますか? – Andolasoft
はい申し訳ありませんが、私は編集します – LorenzoBerti