2016-04-05 169 views
1

我有一个contextMenu它包含两个项目Edit和Delete!但是因为我正在写我的国家语言......项目应该是正确的对齐! 以下是我的代码。请指导我,谢谢!ContextMenu从右到左

public class ListActivity extends AppCompatActivity { 
ListView lst_data; 
DicDBAdapter dicDBAdapter; 
Dic dic; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_list); 

    lst_data = (ListView) findViewById(R.id.lst_data); 
    dicDBAdapter = new DicDBAdapter(getApplicationContext()); 
    ArrayList<String> arrayList = dicDBAdapter.getdata(); 
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), 
      android.R.layout.simple_dropdown_item_1line, 
      arrayList); 
    lst_data.setAdapter(arrayAdapter); 
    registerForContextMenu(lst_data); 
} 
@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    getMenuInflater().inflate(R.menu.context, menu); 


} 

} enter image description here

回答

0

创建一个具有下面的代码布局文件。

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/dropDownItemStyle" 
    android:textAppearance="?android:attr/textAppearanceLargePopupMenu" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:gravity="start" 
    android:ellipsize="marquee" /> 

而创建阵列适配器时将此布局作为项目传递。

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), 
      R.layout.new_layout, 
      arrayList); 
相关问题