使用android中的搜索栏更改listview的字体大小

时间:2015-02-14 07:23:50

标签: android listview seekbar

我想更改列表视图的字体大小。

我有一个从ActionBarActivity中提取的活动。 在此活动中,有一个列表视图和一个cursoradapter。 要设置适配器,我使用setlistadapter方法。在适配器中,我已经覆盖了newview和bindview方法。

下面是适配器的代码。

public EncCursorAdapter( final Context context, final Cursor c )
{
    super( context, c, false);
    // Cache the LayoutInflate to avoid asking for a new one each time.
    mInflater = LayoutInflater.from(context);
}

@Override
public void bindView( final View view, final Context context, final Cursor cursor )
{
    ( ( TextView ) view.findViewById( R.id.tvTerm ) ).setText( cursor.getString( cursor
            .getColumnIndex( EncDbAdapter.KEY_TERM ) ) );
    ( ( TextView ) view.findViewById( R.id.tvSynopsis ) ).setText( cursor.getString(
            cursor.getColumnIndex( EncDbAdapter.KEY_DISPDEF ) ).replaceAll( "\r\n", "" ) );
}

@Override
public View newView( final Context context, final Cursor cursor, final ViewGroup parent )
{
    final View newView = mInflater.inflate(R.layout.definition_row, parent, false );
    //bindView( newView, context, cursor );
    return newView;
}

我对listview有2个textview。其中1代表术语,另一代代表故事大纲。

以下是活动代码

public class Browse extends ActionBarListActivity{
 private static ListView lCurrentList = null;
 EncCursorAdapter eca;
  @Override
public void onCreate( final Bundle savedInstanceState )
{
 lCurrentList = (ListView) findViewById( android.R.id.list );
 eca = new EncCursorAdapter( this, null );
}

 private void setListToCursor( Cursor x )
 {      
    mTermsCursor = new DebugCursor(x);

    //startManagingCursor( mTermsCursor );
    eca.changeCursor( mTermsCursor );
    setListAdapter( eca );
 }

以上代码不是完整代码...仅供参考。 我已经在使用搜索栏来更改webview内容的字体大小。但没有得到如何为listview做同样的事情。 请帮我用listbar更改listview的字体大小。

提前致谢.....

1 个答案:

答案 0 :(得分:1)

在您的适配器中,使用一个变量来存储大小,如下所示

int size=15; //give how much you want

接下来,在适配器中再使用一个方法,使用适配器引用

从外部设置大小
public void setSize(int size){

  this.size=size;

}

在Adapter

的bindview()中
( ( TextView ) view.findViewById( R.id.tvTerm ) ).setTextSize(size);

如果在onSeekBarChangeListener()中使用seekbar,请读取seekBar值并调用

adapter.setSize(size);
adapter.notifyDatasetChanged(); or adapter.changeCursor(-);

希望这会对你有所帮助。