getViewメソッド関数ですListView項目のテキスト重力
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = this.inflater.inflate(res, parent, false);
TextView textView = (TextView) convertView.findViewById(android.R.id.text1);
textView.setTextColor(ContextCompat.getColor(ctx, R.color.white_overlay));
textView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
//textView.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
textView.setText(filterData.get(position).getTitle());
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.START);
return convertView;
}
とIAMリストデータにフィルタを適用し、ここでフィルタコード プライベートクラスmyFilterをがありますフィルタ{
@Override
protected FilterResults performFiltering(CharSequence charSequence) {
String filterStr = charSequence.toString().toLowerCase();
FilterResults results = new FilterResults();
int count = data.size();
List<Extras.Area> tempRes = new ArrayList<>(count);
for (Extras.Area area : data) {
if (area.getArTitle().toLowerCase().contains(filterStr)
|| area.getEnTitle().toLowerCase().contains(filterStr))
tempRes.add(area);
}
results.values = tempRes;
results.count = tempRes.size();
return results;
}
@SuppressWarnings("unchecked")
@Override
protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
filterData = (List<Extras.Area>) filterResults.values;
notifyDataSetChanged();
}
}
私の問題は、ローカル方向は一例で 0123ここでRTL 場合であっても、各項目のテキスト重力が常に残されている延在し
私はカスタムレイアウトを使用しようとしましたが、これは私の問題を解決しませんでした。
テキストビューではなく親ビューの重力を設定する方が簡単です。テキストビューの重力を設定する場合、親ビューの右側にテキストが表示されるように、textviewはmatch_parentである必要があります。 – Christine