diff --git a/res/layout/comments_item.xml b/res/layout/comments_item.xml index 8c5440a87..ed2eb5108 100644 --- a/res/layout/comments_item.xml +++ b/res/layout/comments_item.xml @@ -29,6 +29,7 @@ android:layout_below="@id/user" android:layout_marginTop="8.0dp" android:layout_marginRight="12.0dp" - android:layout_marginBottom="8.0dp" /> + android:layout_marginBottom="8.0dp" + android:autoLink="web" /> \ No newline at end of file diff --git a/res/layout/list_url_text.xml b/res/layout/list_url_text.xml deleted file mode 100644 index 42c90e11f..000000000 --- a/res/layout/list_url_text.xml +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 87d8d8c3d..3e6404e8d 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -220,6 +220,10 @@ 投票成功 投票失败 + + 该用户上传的其他内容 + + 根本把持不住 好极了 @@ -234,6 +238,7 @@ 感觉快要窒息了 + 已复制 发送 详情 评论 diff --git a/res/values/arrays.xml b/res/values/arrays.xml index b9d93d541..3ba12b559 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1,19 +1,5 @@ - - - @string/homepage - @string/favourite - @android:string/search_go - @string/download - - - - @drawable/ic_action_home - @drawable/ic_action_home - @drawable/ic_action_home - @drawable/ic_action_home - @string/star_2 @@ -30,6 +16,11 @@ lofi.e-hentai.org (980x) + + @android:string/copy + @string/uploader_others + + @string/actual_size @string/fit_to_width diff --git a/res/values/strings.xml b/res/values/strings.xml index 4e8487b11..f3c19cfa5 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -228,6 +228,9 @@ Rate succeeded Rate failed + + 该用户上传的其他内容 + DOUJINSHI MANGA @@ -255,6 +258,7 @@ DISASTER + Copyed Send Detail Comment diff --git a/src/com/hippo/ehviewer/activity/CommentsSectionFragment.java b/src/com/hippo/ehviewer/activity/CommentsSectionFragment.java index 11a917075..766851fda 100644 --- a/src/com/hippo/ehviewer/activity/CommentsSectionFragment.java +++ b/src/com/hippo/ehviewer/activity/CommentsSectionFragment.java @@ -22,6 +22,7 @@ import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.text.Html; +import android.text.method.LinkMovementMethod; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -104,73 +105,37 @@ public class CommentsSectionFragment extends Fragment public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { final Comment c = (Comment)parent.getItemAtPosition(position); - final List urls = new ArrayList(); - urls.add(getString(android.R.string.copy)); - urls.add("该用户上传的其他内容"); - Pattern p = Pattern.compile("[a-zA-Z]+://[^\\s<>\"]*"); - Matcher m = p.matcher(c.comment); - - while (m.find()) { - String url = m.group(); - if (!urls.contains(url)) - urls.add(url); - } - - // Long Click dialog mLongClickDialog = new DialogBuilder(mActivity) - .setTitle(R.string.what_to_do) - .setAdapter(new BaseAdapter() { - @Override - public int getCount() { - return urls.size(); - } - @Override - public Object getItem(int position) { - return urls.get(position); - } - - @Override - public long getItemId(int position) { - return position; - } - - @Override - public View getView(int position, View convertView, - ViewGroup parent) { - LayoutInflater inflater = LayoutInflater.from(mActivity); - if (position < 2) { - convertView = inflater.inflate(R.layout.list_item_text, null); - } else { - convertView = inflater.inflate(R.layout.list_url_text, null); - } - ((TextView)convertView.findViewById( - android.R.id.text1)).setText(urls.get(position)); - return convertView; - } - - }, new AdapterView.OnItemClickListener() { + .setTitle(R.string.what_to_do).setItems(R.array.comment_long_click, + new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - if (position == 0) { + switch (position) { + case 0: ClipboardManager cm = (ClipboardManager)mActivity .getSystemService(Context.CLIPBOARD_SERVICE); cm.setPrimaryClip(ClipData.newPlainText(null, c.comment)); - Toast.makeText(mActivity, "已复制", Toast.LENGTH_SHORT).show(); // TODO - } else if (position == 1) { + Toast.makeText(mActivity, getString(R.string.copyed), + Toast.LENGTH_SHORT).show(); + break; + + case 1: ListUrls lus = new ListUrls(ListUrls.ALL_TYPE, "uploader:" + mActivity.getGalleryInfo().uploader, 0); - // TOOD - } else if (position > 1) { - String str = (String)parent.getItemAtPosition(position); - Uri uri = Uri.parse(str); - Intent intent = new Intent(Intent.ACTION_VIEW,uri); - startActivity(intent); + // TODO + break; } mLongClickDialog.dismiss(); } - }).create(); + }).setNegativeButton(android.R.string.cancel, + new View.OnClickListener() { + @Override + public void onClick(View v) { + mLongClickDialog.dismiss(); + } + }).create(); mLongClickDialog.show(); return true; } @@ -218,10 +183,10 @@ public class CommentsSectionFragment extends Fragment } // No one can post one comment at same this time - if (!isUserSame || !isTimeSame) - ((TextView)convertView.findViewById(R.id.comment)) - .setText(Html.fromHtml(c.comment)); - + if (!isUserSame || !isTimeSame) { + TextView comment = ((TextView)convertView.findViewById(R.id.comment)); + comment.setText(Html.fromHtml(c.comment)); + } return convertView; } }