Editing entries
This commit is contained in:
parent
f5b99dbc71
commit
bfc1203e44
4 changed files with 61 additions and 11 deletions
app/src/main
java/info/nerull7/mysqlbrowser
res/layout
|
@ -5,6 +5,7 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -14,14 +15,21 @@ import java.util.List;
|
|||
*/
|
||||
public class ElementArrayAdapter extends ArrayAdapter<String> {
|
||||
private Context context;
|
||||
private List<String> fields;
|
||||
private List<String> values;
|
||||
private int layout;
|
||||
|
||||
public ElementArrayAdapter(Context context, int resource, List<String> objects) {
|
||||
super(context, resource, objects);
|
||||
public ElementArrayAdapter(Context context, int resource, List<String> fields) {
|
||||
super(context, resource, fields);
|
||||
this.context = context;
|
||||
values = objects;
|
||||
this.fields = fields;
|
||||
layout = resource;
|
||||
values = null;
|
||||
}
|
||||
|
||||
public ElementArrayAdapter(Context context, int resource, List<String> fields, List<String> values) {
|
||||
this(context, resource, fields);
|
||||
this.values = values;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -30,7 +38,11 @@ public class ElementArrayAdapter extends ArrayAdapter<String> {
|
|||
View rowView = layoutInflater.inflate(layout, parent, false);
|
||||
|
||||
TextView textView = (TextView) rowView.findViewById(R.id.textFieldName);
|
||||
textView.setText(values.get(position));
|
||||
textView.setText(fields.get(position));
|
||||
if(values != null){
|
||||
EditText textFieldName = (EditText) rowView.findViewById(R.id.editFieldValue);
|
||||
textFieldName.setText(values.get(position));
|
||||
}
|
||||
|
||||
return rowView;
|
||||
}
|
||||
|
|
|
@ -23,6 +23,9 @@ import info.nerull7.mysqlbrowser.db.AsyncDatabaseConnector;
|
|||
* Created by nerull7 on 2014-08-06.
|
||||
*/
|
||||
public class ElementFragment extends Fragment implements AsyncDatabaseConnector.ListReturnListener {
|
||||
public static final String EDIT_ELEMENT = "edit_element";
|
||||
public static final String EDIT_LIST = "edit_element_list";
|
||||
|
||||
private String databaseName;
|
||||
private String tableName;
|
||||
private ListAdapter listAdapter;
|
||||
|
@ -30,6 +33,8 @@ public class ElementFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
private ProgressBar progressBar;
|
||||
private ListView listView;
|
||||
|
||||
private List<String> values;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
//Inflate the layout for this fragment
|
||||
|
@ -48,6 +53,10 @@ public class ElementFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
private void initArguments() {
|
||||
databaseName = getArguments().getString(Static.DATABASE_NAME_ARG);
|
||||
tableName = getArguments().getString(Static.TABLE_NAME_ARG);
|
||||
if(getArguments().getBoolean(EDIT_ELEMENT))
|
||||
values = getArguments().getStringArrayList(EDIT_LIST);
|
||||
else
|
||||
values = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -58,7 +67,7 @@ public class ElementFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
|
||||
@Override
|
||||
public void onListReturn(List<String> fields) {
|
||||
listAdapter = new ElementArrayAdapter(getActivity(), R.layout.list_item_element_simple, fields);
|
||||
listAdapter = new ElementArrayAdapter(getActivity(), R.layout.list_item_element_simple, fields, values);
|
||||
listView.setAdapter(listAdapter);
|
||||
// databasesListView.setAdapter(listAdapter);
|
||||
// databasesListView.setOnItemClickListener(this);
|
||||
|
|
|
@ -1,10 +1,17 @@
|
|||
package info.nerull7.mysqlbrowser;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Fragment;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.ColorFilter;
|
||||
import android.graphics.Typeface;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
|
@ -12,6 +19,7 @@ import android.view.MenuItem;
|
|||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.HorizontalScrollView;
|
||||
import android.widget.ProgressBar;
|
||||
|
@ -21,6 +29,9 @@ import android.widget.TableLayout;
|
|||
import android.widget.TableRow;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.w3c.dom.Text;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import info.nerull7.mysqlbrowser.db.AsyncDatabaseConnector;
|
||||
|
@ -28,7 +39,7 @@ import info.nerull7.mysqlbrowser.db.AsyncDatabaseConnector;
|
|||
/**
|
||||
* Created by nerull7 on 15.07.14.
|
||||
*/
|
||||
public class EntriesFragment extends Fragment implements AsyncDatabaseConnector.MatrixReturnListener, AsyncDatabaseConnector.ListReturnListener, AsyncDatabaseConnector.IntegerReturnListener {
|
||||
public class EntriesFragment extends Fragment implements AsyncDatabaseConnector.MatrixReturnListener, AsyncDatabaseConnector.ListReturnListener, AsyncDatabaseConnector.IntegerReturnListener, View.OnClickListener {
|
||||
private static final int HEADER_PADDING_TOP = 15;
|
||||
private static final int HEADER_PADDING_BOTTOM = 15;
|
||||
private static final int HEADER_PADDING_LEFT = 15;
|
||||
|
@ -51,6 +62,7 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
private int entriesLimit;
|
||||
private int page;
|
||||
private int pageCount;
|
||||
private int rowCount;
|
||||
private ProgressBar progressBar;
|
||||
private CustomScrollView fakeScrollView;
|
||||
private View dummyView;
|
||||
|
@ -96,8 +108,7 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
fakeScrollView.setOnTouchEventListener(new CustomScrollView.OnTouchEventListener() {
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent ev) {
|
||||
entriesScrollView.onTouchEvent(ev);
|
||||
horizontalScrollView.onTouchEvent(ev);
|
||||
entriesScrollView.dispatchTouchEvent(ev);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
@ -197,8 +208,11 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
textView.setLayoutParams(layoutParams);
|
||||
textView.setPadding(ENTRIES_PADDING_LEFT, ENTRIES_PADDING_TOP, ENTRIES_PADDING_RIGHT, ENTRIES_PADDING_BOTTOM);
|
||||
textView.setBackgroundResource(background);
|
||||
textView.setId(j);
|
||||
newRow.addView(textView);
|
||||
}
|
||||
newRow.setClickable(true);
|
||||
newRow.setOnClickListener(this);
|
||||
entriesTable.addView(newRow);
|
||||
|
||||
syncWidths();
|
||||
|
@ -222,6 +236,7 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
// First we need header
|
||||
headerRow = new TableRow(getActivity());
|
||||
headerRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
|
||||
rowCount = fieldList.size();
|
||||
for(int i =0;i<fieldList.size();i++){
|
||||
TextView textView = new TextView(getActivity());
|
||||
textView.setText(fieldList.get(i));
|
||||
|
@ -290,5 +305,20 @@ public class EntriesFragment extends Fragment implements AsyncDatabaseConnector.
|
|||
fakeScrollView.setLayoutParams(fakeScrollLayout);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
ArrayList<String> values = new ArrayList<String>();
|
||||
for(int i=0;i<rowCount;i++){
|
||||
TextView element = (TextView)view.findViewById(i);
|
||||
values.add(element.getText().toString());
|
||||
// element.setBackgroundResource(android.R.color.holo_blue_bright);
|
||||
}
|
||||
|
||||
Intent intent = new Intent(getActivity(), ElementActivity.class);
|
||||
intent.putExtra(Static.DATABASE_NAME_ARG,databaseName);
|
||||
intent.putExtra(Static.TABLE_NAME_ARG,tableName);
|
||||
intent.putExtra(ElementFragment.EDIT_ELEMENT, true);
|
||||
intent.putStringArrayListExtra(ElementFragment.EDIT_LIST, values);
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
tools:context="info.nerull7.mysqlbrowser.EntriesFragment">
|
||||
|
||||
<HorizontalScrollView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:id="@+id/horizontalScrollView" >
|
||||
|
||||
<RelativeLayout
|
||||
|
@ -48,7 +48,6 @@
|
|||
<info.nerull7.mysqlbrowser.CustomScrollView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_below="@+id/loginProgressBar"
|
||||
android:layout_alignParentRight="true"
|
||||
android:foregroundGravity="right"
|
||||
android:id="@+id/fakeScroll"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue