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