我试图在点击它时将行设置为粗体.但是当我尝试将视图转换为TextView时,它给出了一个ClassCastException,如下所示 -
setListAdapter(adapter);
final ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
TextView tv = (TextView)view;
tv.setTypeface(null, Typeface.BOLD);
}
});
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我该怎么办呢?
编辑:
我的适配器看起来像 -
public class CountryListAdapter extends ArrayAdapter<String> {
private final Activity context;
private final ArrayList<String> names;
public CountryListAdapter(Activity context, ArrayList<String> names) {
super(context, R.layout.rowlayout, names);
this.context = context;
this.names = names;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater(); …Run Code Online (Sandbox Code Playgroud) 我的应用程序是使用ViewFlipper设置的,因此我有一个主视图链接到其他三个视图,每个视图都通过自己的按钮.正如我以这种方式设置的,当我在其他三个视图中的一个时,如果我按下我的Android设备上的后退按钮,它会一直退出应用程序.我只想知道是否有可能将其映射到主视图?
我想要完成的是在每一行中都有一个复选框,能够单独选中该框(用于批量删除),并能够选择整行来查看与列表项关联的数据.
我已经完成了一个带有textview的复选框,但只允许选择框,我无法点击列表项来查看该项数据.我也用过,checkedTextView但是检查一下你点击行调用的那个盒子,那onListItemClick不是我想要的.是否有一些我可以单独检查框中的单击列表视图项目?
gmail在选择要删除和查看的消息时,几乎尝试做应用程序所做的事情
这是我的行布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/nameCheckTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/checkBox1"
android:layout_toRightOf="@+id/checkBox1"
android:paddingTop="5dp"
android:paddingLeft="15dp"
android:text="Name"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
创建列表视图
@Override
public void onActivityCreated(Bundle state){
super.onActivityCreated(state);
lv = getListView();
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lv.setItemsCanFocus(false);
setEmptyText("No Bowlers");
registerForContextMenu(getListView());
populateList();
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我的填充方法
public void populateList(){
String[] fields = new String[] {BowlersDB.NAME};
//mAdapter = new CheckAdapter(getActivity(),R.layout.check_listview,null,fields,new int[] {R.id.nameCheckTV});
mAdapter = new SimpleCursorAdapter(getActivity(),R.layout.check_listview,null,fields,
new int[] {R.id.nameCheckTV});
setListAdapter(mAdapter);
getLoaderManager().initLoader(0,null,this);
}
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有2个线性布局:一个在顶部,一个在底部.
我希望无论这些布局如何,顶部的布局占据屏幕高度的60%,底部布局占40%.这是我的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1.0" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.6"
android:orientation="vertical"
android:id="@+id/layout_top">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="0.4"
android:id="@+id/layout_bottom">
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
当这些布局是空的,没有问题时,它们具有良好的比例.
问题是,如果我在顶部布局中放置一个小的列表视图,那么布局将采用列表视图的大小,并且不会保留60/40%的比例.
即使我的列表视图很小(例如只有3项),我也会喜欢它,布局保留了60%,所以在我的listview下放了一些空白区域.
我试着寿变化android:layout_height来match_parent,但它不会改变任何东西.
谢谢.
android percentage android-layout android-view android-layout-weight
有没有办法在指定的地方向另一个人添加视图?即我想在父视图的(x,y)位置添加子视图.请帮我.
parentView.addView(childView);
Run Code Online (Sandbox Code Playgroud) 好吧问题是我在我的活动中使用了一种SurfaceView,我想在其中添加按钮.
我的问题是:
1)如何在不调用findViewById(...)的情况下创建按钮实例?(因为surfaceView因为我没有布局)...
2)我如何在画布上绘制这个按钮?
或者你可能在建议做别的事情?
所有我关心的是我的屏幕上会有按钮,我可以实现像OnClickListener(...)....
谢谢所有提前!
我正在尝试为视图生成随机ID,如以下屏幕截图所示。但这没有用。它为空。我应该如何找到ViewById?

我希望TextView看起来像Spinner.单击时,将出现一个包含TextView选项的对话框.不,我不想使用Spinner.我想使用TextView.
我想对kitkat和棒棒糖设备中的菜单项文本进行资本化,但幸运的是它在棉花糖和牛轧糖上工作.我找到了很多关于这个问题的解决方案但是一切都在牛轧糖和棉花糖中有效但在棒棒糖和下面的设备中没有这里是我的代码
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
请帮我解决一下.
android menuitem android-view android-actionbar android-toolbar
我必须创建一个自定义视图,我必须绘制一个矩形.我正在尝试使用该canvas.drawRect方法.我想像这样创建一些矩形 
灰色的是我的自定义视图,它扩展了View类.在onDraw方法内部我试图绘制矩形.
但实际上我对drawRect方法的参数感到困惑.
根据文档
/**
* Draw the specified Rect using the specified paint. The rectangle will
* be filled or framed based on the Style in the paint.
*
* @param left The left side of the rectangle to be drawn
* @param top The top side of the rectangle to be drawn
* @param right The right side of the rectangle to be drawn
* @param bottom The bottom side …Run Code Online (Sandbox Code Playgroud) android ×10
android-view ×10
textview ×2
add ×1
canvas ×1
java ×1
menuitem ×1
percentage ×1
view ×1